Beispiel #1
0
        public GalaxianGame()
        {
            Graphics = new GraphicsDeviceManager(this)
            {
                PreferredBackBufferWidth  = WindowSize.Width,
                PreferredBackBufferHeight = WindowSize.Height
            };

            Content.RootDirectory = "Content";
            Window.Title          = "Galaxian";
            _currentGamescreen    = Gamescreen.IntroScreen;
        }
Beispiel #2
0
        /// <summary>
        /// Allows the game to run logic.
        /// </summary>
        protected override void Update(GameTime gameTime)
        {
            switch (_currentGamescreen)
            {
            case Gamescreen.IntroScreen:
            {
                _introScreen.Update(gameTime);

                if (_introScreen.IsEnterPressed)
                {
                    _onGameScreen = new OnGameScreen(_spriteBatch, gameTime, _introScreen.DifficulityLevel);
                    _onGameScreen.LoadContent();
                    _currentGamescreen = Gamescreen.GameScreen;
                }

                if (_introScreen.IsEscapePressed)
                {
                    Exit();
                }

                break;
            }

            case Gamescreen.GameScreen:
            {
                _onGameScreen.Update(gameTime);

                if (_onGameScreen.IsEscapePressed)
                {
                    _pauseScreen = new PauseScreen(_spriteBatch, gameTime);
                    _pauseScreen.LoadContent();
                    _currentGamescreen = Gamescreen.PauseScreen;
                }

                if (_onGameScreen.Quit)
                {
                    Exit();
                }

                break;
            }

            case Gamescreen.PauseScreen:
            {
                _pauseScreen.Update(gameTime);

                if (_pauseScreen.IsBackChosen)
                {
                    _currentGamescreen = Gamescreen.GameScreen;
                    _onGameScreen.TimeWhenPauseStops = gameTime.TotalGameTime.Seconds;
                    _onGameScreen.IsEscapePressed    = false;
                }
                else if (_pauseScreen.IsQuitChosen)
                {
                    Exit();
                }

                break;
            }
            }
            base.Update(gameTime);
        }