public void Update() { if (Engine.GetKey(Keys.F1)) { ChangeGameState(GameState.WinScreen); } if (Engine.GetKey(Keys.F2)) { ChangeGameState(GameState.GameOverScreen); } switch (CurrentState) //casos posibles de var { case GameState.MainMenu: EnemyListIsEmpty(); MainMenu.Update(); break; case GameState.Credits: Credits.Update(); break; case GameState.Options: break; case GameState.GameOverScreen: GameOverScreen.Update(); break; case GameState.WinScreen: WinScreen.Update(); break; case GameState.Level: LevelController.Update(); WinCondition(); break; default: break; } }
private void checkEndOfGame() { int teamCount = 0; team_t teamColor = team_t.Purple; foreach (LinkedList <AnimalActor> team in world.teams) { if (team.Count() > 0) { teamCount++; teamColor = team.First().team; } } if (teamCount <= 1) { var gameOverScreen = new GameOverScreen(world.engine); gameOverScreen.ShowWinner(teamColor); //world.engine.quit = true; } }
public void Render() { switch (CurrentState) { case GameState.MainMenu: MainMenu.Render(); break; case GameState.Credits: Credits.Render(); break; case GameState.Options: break; case GameState.GameOverScreen: GameOverScreen.Render(); break; case GameState.WinScreen: WinScreen.Render(); break; case GameState.Level: LevelController.Render(); break; default: break; } }
public override void Update(GameTime gameTime) { if (currentState == GameState.START) { gameOverShown = true; startScreen.SetData(GameState.START); currentState = GameState.START; //Music------------------------------------------- if (((TankGame)Game).soundManager.endingPlaying) ((TankGame)Game).soundManager.stopEnd(); if(!((TankGame)Game).soundManager.introPlaying) ((TankGame)Game).soundManager.playIntro(); //------------------------------------------------ } if ((Keyboard.GetState().IsKeyDown(Keys.Enter) && !enterPressed) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A)) { if (currentState == GameState.START) { ChangeGameState(GameState.MOVEHINT); hintScreen = new MoveHintScreen((TankGame)Game); ((TankGame)Game).noDebug(); //Music--------------------------------------------- if (((TankGame)Game).soundManager.introPlaying) ((TankGame)Game).soundManager.stopIntro(); if (!((TankGame)Game).soundManager.backgroundPlaying) ((TankGame)Game).soundManager.playBackground(); //-------------------------------------------------- ((TankGame)Game).Components.Add(hintScreen); } } if((Keyboard.GetState().IsKeyDown(Keys.Z)) && !debugPressed) { ChangeGameState(GameState.PLAYER1); debugPressed = true; ((TankGame)Game).startDebug(); } if (currentState == GameState.MOVEHINT) { if (Keyboard.GetState().IsKeyDown(Keys.A) || Keyboard.GetState().IsKeyDown(Keys.D) || GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X == 1 || GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X == 1) { ((TankGame)Game).Components.Remove(hintScreen); startScreen.clearScreen(); ChangeGameState(GameState.PLAYER1); doThings(); } } if (((TankGame)Game).gameRunning && ((TankGame)Game).currentTank.moveLimit <= 1.5 && ((TankGame)Game).turnsTaken == 0 && hasShown) { ChangeGameState(GameState.POWERUPHINT); powerUpHintScreen = new PowerUpHint((TankGame)Game); ((TankGame)Game).Components.Add(powerUpHintScreen); hasShown = false; } if (currentState == GameState.POWERUPHINT) { if (((TankGame)Game).currentTank.moveLimit <= 0.5 || Keyboard.GetState().IsKeyDown(Keys.Space)) { ((TankGame)Game).Components.Remove(powerUpHintScreen); ChangeGameState(GameState.PLAYER1); startScreen.clearScreen(); doThings(); } } if (currentState == GameState.PLAYER1 || currentState == GameState.START) { if (GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A) & !aPressed || Keyboard.GetState().IsKeyDown(Keys.Enter)) { doThings(); } } if (currentState == GameState.PLAYER2) { if (GamePad.GetState(PlayerIndex.Two).IsButtonDown(Buttons.A) & !aPressed || Keyboard.GetState().IsKeyDown(Keys.Enter)) { doThings(); } } if (currentState == GameState.END && gameOverShown) { gameOverScreen = new GameOverScreen((TankGame)Game); //Music ---------------------------------------- ((TankGame)Game).Components.Add(gameOverScreen); if (((TankGame)Game).soundManager.backgroundPlaying) ((TankGame)Game).soundManager.stopBackground(); if (!((TankGame)Game).soundManager.endingPlaying) ((TankGame)Game).soundManager.playEnd(); //---------------------------------------------- gameOverShown = false; } if (currentState == GameState.END) { if (Keyboard.GetState().IsKeyDown(Keys.RightShift)) { ((TankGame)Game).Components.Remove(gameOverScreen); gameOverScreen.stopConfetti(); } } if (Keyboard.GetState().IsKeyUp(Keys.Enter)) { enterPressed = false; } if (GamePad.GetState(PlayerIndex.One).IsButtonUp(Buttons.A)) aPressed = false; base.Update(gameTime); }
public override void Update(GameTime gameTime) { if (currentState == GameState.START) { gameOverShown = true; startScreen.SetData(GameState.START); currentState = GameState.START; //Music------------------------------------------- if (((TankGame)Game).soundManager.endingPlaying) { ((TankGame)Game).soundManager.stopEnd(); } if (!((TankGame)Game).soundManager.introPlaying) { ((TankGame)Game).soundManager.playIntro(); } //------------------------------------------------ } if ((Keyboard.GetState().IsKeyDown(Keys.Enter) && !enterPressed) || GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A)) { if (currentState == GameState.START) { ChangeGameState(GameState.MOVEHINT); hintScreen = new MoveHintScreen((TankGame)Game); ((TankGame)Game).noDebug(); //Music--------------------------------------------- if (((TankGame)Game).soundManager.introPlaying) { ((TankGame)Game).soundManager.stopIntro(); } if (!((TankGame)Game).soundManager.backgroundPlaying) { ((TankGame)Game).soundManager.playBackground(); } //-------------------------------------------------- ((TankGame)Game).Components.Add(hintScreen); } } if ((Keyboard.GetState().IsKeyDown(Keys.Z)) && !debugPressed) { ChangeGameState(GameState.PLAYER1); debugPressed = true; ((TankGame)Game).startDebug(); } if (currentState == GameState.MOVEHINT) { if (Keyboard.GetState().IsKeyDown(Keys.A) || Keyboard.GetState().IsKeyDown(Keys.D) || GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X == 1 || GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X == 1) { ((TankGame)Game).Components.Remove(hintScreen); startScreen.clearScreen(); ChangeGameState(GameState.PLAYER1); doThings(); } } if (((TankGame)Game).gameRunning && ((TankGame)Game).currentTank.moveLimit <= 1.5 && ((TankGame)Game).turnsTaken == 0 && hasShown) { ChangeGameState(GameState.POWERUPHINT); powerUpHintScreen = new PowerUpHint((TankGame)Game); ((TankGame)Game).Components.Add(powerUpHintScreen); hasShown = false; } if (currentState == GameState.POWERUPHINT) { if (((TankGame)Game).currentTank.moveLimit <= 0.5 || Keyboard.GetState().IsKeyDown(Keys.Space)) { ((TankGame)Game).Components.Remove(powerUpHintScreen); ChangeGameState(GameState.PLAYER1); startScreen.clearScreen(); doThings(); } } if (currentState == GameState.PLAYER1 || currentState == GameState.START) { if (GamePad.GetState(PlayerIndex.One).IsButtonDown(Buttons.A) & !aPressed || Keyboard.GetState().IsKeyDown(Keys.Enter)) { doThings(); } } if (currentState == GameState.PLAYER2) { if (GamePad.GetState(PlayerIndex.Two).IsButtonDown(Buttons.A) & !aPressed || Keyboard.GetState().IsKeyDown(Keys.Enter)) { doThings(); } } if (currentState == GameState.END && gameOverShown) { gameOverScreen = new GameOverScreen((TankGame)Game); //Music ---------------------------------------- ((TankGame)Game).Components.Add(gameOverScreen); if (((TankGame)Game).soundManager.backgroundPlaying) { ((TankGame)Game).soundManager.stopBackground(); } if (!((TankGame)Game).soundManager.endingPlaying) { ((TankGame)Game).soundManager.playEnd(); } //---------------------------------------------- gameOverShown = false; } if (currentState == GameState.END) { if (Keyboard.GetState().IsKeyDown(Keys.RightShift)) { ((TankGame)Game).Components.Remove(gameOverScreen); gameOverScreen.stopConfetti(); } } if (Keyboard.GetState().IsKeyUp(Keys.Enter)) { enterPressed = false; } if (GamePad.GetState(PlayerIndex.One).IsButtonUp(Buttons.A)) { aPressed = false; } base.Update(gameTime); }
private void OnGameOverScreenInject(GameOverScreen gameOverScreen) { gameOverScreen.SetActive(m_IsGameOver); }