protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape) || gameOver.Quit) { Exit(); } MouseKeyboardManager.Update(); elapsedGameTimeSeconds = gameTime.ElapsedGameTime.TotalSeconds; elapsedGameTimeMilliseconds = gameTime.ElapsedGameTime.TotalMilliseconds; switch (state) { case States.Menu: mainMenu.Update(gameTime, ref state, ref player); break; case States.Quit: Exit(); break; case States.FFA: ffaArena.Update(gameTime, ref state, ref player); break; case States.CharacterSelection: characterSelection.Update(gameTime, ref state, ref player); if (state == States.FFA) { ffaArena = new PlayState(Window, spriteBatch, player, networkManager, playerManager); } break; case States.Pause: mainMenu.Update(gameTime, ref state, ref player); break; case States.Lobby: lobby.Update(gameTime, ref state, ref player); if (state == States.FFA) { ffaArena = new PlayState(Window, spriteBatch, player, networkManager, playerManager); } break; case States.Win: gameOver.Won = LocalWin; gameOver.Update(gameTime, ref state, ref player); break; default: break; } base.Update(gameTime); }
public override void Update(GameTime gameTime, ref States state, ref Character unused) { if (MouseKeyboardManager.Clicked(Keys.P)) { if (state == States.Pause) { state = States.FFA; } else { state = States.Pause; } } if (playerManager.GameOverCheck()) { if (networkManager.Players.FirstOrDefault(p => p.Username == networkManager.Username).Score >= 3) { state = States.Win; Game1.LocalWin = true; } else { state = States.Win; Game1.LocalWin = false; } } networkManager.Active = networkManager.Status == NetConnectionStatus.Connected; networkManager.Update(); playerManager.UpdatePlayer(); abilityManager.Update(player); userInterfaceManagerHealth.UpdateGameplayLoop(); MouseKeyboardManager.Update(); currentLevel.Update(); }