public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
        {
			if(Game == null)
				throw new InvalidOperationException("Please set 'Game' to a valid instance of Game before calling this method.");
				
            var bounds = UIScreen.MainScreen.Bounds;

            // create the game main windows
            MainWindow = new UIWindow(bounds);

            // create the paradox game view 
            var paradoxGameView = new iOSParadoxView((RectangleF)bounds) {ContentScaleFactor = UIScreen.MainScreen.Scale};

            // create the view controller used to display the paradox game
            var paradoxGameController = new ParadoxGameController { View = paradoxGameView };

            // create the game context
            var gameContext = new GameContext(MainWindow, paradoxGameView, paradoxGameController);

            // Force fullscreen
            UIApplication.SharedApplication.SetStatusBarHidden(true, false);

            // Added UINavigationController to switch between UIViewController because the game is killed if the FinishedLaunching (in the AppDelegate) method doesn't return true in 10 sec.
            var navigationController = new UINavigationController {NavigationBarHidden = true};
            navigationController.PushViewController(gameContext.GameViewController, false);
            MainWindow.RootViewController = navigationController;

            // launch the main window
            MainWindow.MakeKeyAndVisible();

            // launch the game
            Game.Run(gameContext);

            return Game.IsRunning;
        }
        public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
        {
            if (Game == null)
            {
                throw new InvalidOperationException("Please set 'Game' to a valid instance of Game before calling this method.");
            }

            var bounds = UIScreen.MainScreen.Bounds;

            // create the game main windows
            MainWindow = new UIWindow(bounds);

            // create the paradox game view
            var paradoxGameView = new iOSParadoxView(bounds)
            {
                ContentScaleFactor = UIScreen.MainScreen.Scale
            };

            // create the view controller used to display the paradox game
            var paradoxGameController = new ParadoxGameController {
                View = paradoxGameView
            };

            // create the game context
            var gameContext = new GameContext(MainWindow, paradoxGameView, paradoxGameController);

            // Force fullscreen
            UIApplication.SharedApplication.SetStatusBarHidden(true, false);

            // Added UINavigationController to switch between UIViewController because the game is killed if the FinishedLaunching (in the AppDelegate) method doesn't return true in 10 sec.
            var navigationController = new UINavigationController {
                NavigationBarHidden = true
            };

            navigationController.PushViewController(gameContext.GameViewController, false);
            MainWindow.RootViewController = navigationController;

            // launch the main window
            MainWindow.MakeKeyAndVisible();

            // launch the game
            Game.Run(gameContext);

            return(Game.IsRunning);
        }