public void LoadScreen(IGameScreen screen) { _activeScreen?.UnloadContent(); _activeScreen?.Dispose(); screen.ScreenManager = this; screen.Initialize(); screen.LoadContent(); _activeScreen = screen; }
public void Switch(IGameScreen newScreen, double delay = 1000.0d) { newScreen.LoadContent(ContentManager); lastScreen = currentScreen; currentScreen = newScreen; lastAlpha = 1.0f; currentAlpha = 0.0f; delayTime = delay; delayCounter = 0.0d; transition = true; }
/// <summary> /// Adds a <see cref="IGameScreen"/> to this manager. /// </summary> /// <param name="screen">The <see cref="IGameScreen"/> to add.</param> /// <exception cref="ArgumentNullException"><paramref name="screen"/> is null.</exception> /// <exception cref="ArgumentException"><paramref name="screen"/>'s <see cref="IScreenManager"/> is not /// equal to this <see cref="IScreenManager"/>.</exception> public void Add(IGameScreen screen) { if (screen == null) { throw new ArgumentNullException("screen"); } if (screen.ScreenManager != this) { throw new ArgumentException("The screen's ScreenManager must be set to this ScreenManager.", "screen"); } _screens.Add(screen.Name, screen); screen.Initialize(); screen.LoadContent(); }
protected override void LoadContent() { base.LoadContent(); _activeScreen?.LoadContent(); }
public void SetScreen(IGameScreen screen) { currentScreen = screen; currentScreen.LoadContent(ContentManager); }
private void Present(IGameScreen gameScreen) { gameScreen.ScreenManager = this; gameScreen.LoadContent(); this.CurrentScreen = gameScreen; }