// This method checks the GameScreen.IsActive property, so the game will // stop updating when the pause menu is active, or if you tab away to a different application. public override void Update(GameTime gameTime, bool otherScreenHasFocus, bool coveredByOtherScreen) { base.Update(gameTime, otherScreenHasFocus, false); // Gradually fade in or out depending on whether we are covered by the pause screen. if (coveredByOtherScreen) { _pauseAlpha = Math.Min(_pauseAlpha + 1f / 32, 1); } else { _pauseAlpha = Math.Max(_pauseAlpha - 1f / 32, 0); } if (IsActive) { _player.Update(gameTime); _level.Update(gameTime); _level.CheckDoorCollision(_player); } }