private static void Startup()
{
var assemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach(var assembly in assemblies)
{
var types = assembly.GetTypes();
foreach(var type in types)
{
var initialize = type.GetCustomAttribute<InitializeAttribute>();
if (initialize != null)
{
var initializeMethod = type.GetMethod("Initialize");
if (initializeMethod != null)
{
initializeMethod.Invoke(type, null);
}
}
}
}
MonoMobileApplication.Views = new List<object>();
foreach (var viewType in MonoMobileApplication.ViewTypes)
{
var view = Activator.CreateInstance(viewType);
MonoMobileApplication.Views.Add(view);
}
foreach (var view in MonoMobileApplication.Views)
{
var initalizable = view as IInitializable;
if (initalizable != null)
{
initalizable.Initialize();
}
}
foreach(var view in MonoMobileApplication.Views)
{
MonoMobileApplication.DialogViewControllers.Add(new DialogViewController(MonoMobileApplication.Title, view, Theme.CreateTheme(), true) { Autorotate = true } );
}
MonoMobileApplication.NavigationController.ViewControllers = MonoMobileApplication.DialogViewControllers.ToArray();
UIView.BeginAnimations("fadeIn");
UIView.SetAnimationDuration(0.3f);
MonoMobileApplication.NavigationController.View.Alpha = 1.0f;
UIView.CommitAnimations();
}