Exemple #1
0
        public void LoadScreen(IGameScreen screen)
        {
            _activeScreen?.UnloadContent();
            _activeScreen?.Dispose();

            screen.ScreenManager = this;
            screen.Initialize();
            screen.LoadContent();
            _activeScreen = screen;
        }
Exemple #2
0
 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();
        }
Exemple #4
0
        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;
 }