public void ChangeScreen(IGameScreen screen) { RemoveAllScreens(); gameScreen.Add(screen); screen.Initialize(contentManager); }
public void PushScreen(IGameScreen screen) { screen.ScreenManager = this; activeGameScreens.Add(screen); screen.Initialize(contentManager); Mouse.SetCursor(screen.CursorInfo.CursorTexture); Game.IsMouseVisible = screen.CursorInfo.ShowCursor; }
public void LoadScreen(IGameScreen screen) { _activeScreen?.UnloadContent(); _activeScreen?.Dispose(); screen.ScreenManager = this; screen.Initialize(); screen.LoadContent(); _activeScreen = screen; }
protected override void Initialize() { Screen = new GamePlayScreen(this, TouchPanel.GetState().IsConnected ? (IInputControl) new TouchControl() : (IInputControl) new MouseControl()); IsMouseVisible = true; SpriteBatch = new SpriteBatch(GraphicsDevice); Screen.Initialize(); base.Initialize(); }
private void TransitionScene() { _activeScene?.UnloadContent(); GC.Collect(); _activeScene = _nextScene; _nextScene = null; _activeScene?.Initialize(); }
public void PushScreen(IGameScreen screen) { if (!IsScreenListEmpty) { var curScreen = GetCurrentScreen(); curScreen.Pause(); } gameScreen.Add(screen); screen.Initialize(contentManager); }
/// <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(); }
/// <summary> /// Initilize all necesary data for the new screen /// That includes removing all game objects and initizeing the new screen /// </summary> /// <param name="value"></param> private void NewScreenActivated(IGameScreen value) { activeScreen = value; activeScreen.ScreenManager = this; activeScreen.Initialize(); }
public override void Initialize() { base.Initialize(); _activeScreen?.Initialize(); }