public GalaxianGame() { Graphics = new GraphicsDeviceManager(this) { PreferredBackBufferWidth = WindowSize.Width, PreferredBackBufferHeight = WindowSize.Height }; Content.RootDirectory = "Content"; Window.Title = "Galaxian"; _currentGamescreen = Gamescreen.IntroScreen; }
/// <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); }