/// <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> /// Removes a screen from the screen manager. You should normally /// use GameScreen.ExitScreen instead of calling this directly, so /// the screen can gradually transition off rather than just being /// instantly removed. /// </summary> public void RemoveScreen( GameScreen screen ) { // If we have a graphics device, tell the screen to unload content. if ( isInitialized ) { screen.UnloadContent(); } screens.Remove( screen ); screensToUpdate.Remove( screen ); }
/// <summary> /// Adds a new screen to the screen manager. /// </summary> public void AddScreen( GameScreen screen, PlayerIndex? controllingPlayer ) { screen.ControllingPlayer = controllingPlayer; screen.ScreenManager = this; screen.IsExiting = false; // If we have a graphics device, tell the screen to load content. if ( isInitialized ) { screen.LoadContent(); } screens.Add( screen ); }