/// <summary> /// The constructor is private: loading screens should /// be activated via the static Load method instead. /// </summary> private LoadingScreen(ScreenManager screenManager, bool loadingIsSlow, GameScreen[] screensToLoad) { this.loadingIsSlow = loadingIsSlow; this.screensToLoad = screensToLoad; TransitionOnTime = TimeSpan.FromSeconds(0.5); }
/// <summary> /// Activates the loading screen. /// </summary> public static void Load(ScreenManager screenManager, bool loadingIsSlow, PlayerIndex? controllingPlayer, params GameScreen[] screensToLoad) { // Tell all the current screens to transition off. foreach (GameScreen screen in screenManager.GetScreens()) screen.ExitScreen(); // Create and activate the loading screen. LoadingScreen loadingScreen = new LoadingScreen(screenManager, loadingIsSlow, screensToLoad); screenManager.AddScreen(loadingScreen, controllingPlayer); }
/// <summary> /// The main game constructor. /// </summary> public GameStateManagementGame() { Content.RootDirectory = "Content"; graphics = new GraphicsDeviceManager(this); #if WINDOWS graphics.PreferredBackBufferWidth = HelperUtils.Screen_Width; graphics.PreferredBackBufferHeight = HelperUtils.Screen_Height; HelperUtils.SafeBoundary = new Rectangle(0, 0, 1024, 612); #endif #if XBOX graphics.PreferredBackBufferWidth = HelperUtils.Screen_Width + (int)(2 * HelperUtils.Screen_Width * HelperUtils.SafeAreaPortion); graphics.PreferredBackBufferHeight = HelperUtils.Screen_Height + (int)(2 * HelperUtils.Screen_Height * HelperUtils.SafeAreaPortion); HelperUtils.SafeBoundary = new Rectangle( (int)(HelperUtils.Screen_Width * HelperUtils.SafeAreaPortion), (int)(HelperUtils.Screen_Height * HelperUtils.SafeAreaPortion), HelperUtils.Screen_Width, //(int)(HelperUtils.Screen_Width * (1 - 2 * HelperUtils.SafeAreaPortion)), HelperUtils.Screen_Height);//(int)(HelperUtils.Screen_Height * (1 - 2 * HelperUtils.SafeAreaPortion))); #endif // Create the screen manager component. screenManager = new ScreenManager(this); Components.Add(screenManager); // Activate the first screens. screenManager.AddScreen(new BackgroundScreen(), null); screenManager.AddScreen(new MainMenuScreen(), null); }