/* * Método: private void GameIsOver() * * Función: finalizar juego * * Descripción: Verifica si el juego ha terminado, ya sea con una victoria * o con una derrota. Si el juego ha terminado, guarda la puntuación final * del jugador y detiene el reloj de actualizaciones del juego. */ private void GameIsOver() { if (GameData.gameOver) { GameData.gameStart = false; //el jugador ha ganado if (GameData.victory) { /*Aplicar multiplier basado en el tiempo que tomo para completar * el juego y las vidas restantes del jugador.*/ score += (score * 10 / time) * hp; txtScore.Text = "SCORE: " + score; VictoryScreen.BackgroundImage = Resources.VictoryImg; VictoryScreen.BackgroundImageLayout = ImageLayout.Stretch; VictoryScreen.Height = (int)(Height * 0.65); VictoryScreen.Width = (int)(Width * 0.80); VictoryScreen.Top = (int)(Height * 0.20); VictoryScreen.Left = (int)(Width * 0.08); VictoryScreen.Show(); } //el jugador ha perdido else { GameOverScreen.BackgroundImage = Resources.GameOverImg; GameOverScreen.BackgroundImageLayout = ImageLayout.Stretch; GameOverScreen.Height = (int)(Height * 0.5); GameOverScreen.Width = (int)(Width * 0.8); GameOverScreen.Top = (int)(Height * 0.25); GameOverScreen.Left = (int)(Width * 0.08); GameOverScreen.Show(); } //detener relojes secondsTimer.Stop(); gameTimer.Stop(); //guardar puntuación Score s = new Score(score, playahata.username); ScoreDAO.AddScore(s); } }
void OnTriggerEnter(Collider other) { if (other.tag == "firstCoin") { coinCounter++; Destroy(other.gameObject); } if (other.tag == "secondCoin") { coinCounter++; Destroy(other.gameObject); SceneManager.LoadScene("Level2", LoadSceneMode.Single); } // Om vi plockar upp vinnar-myntet... if (other.tag == "WinnerCoin") { coinCounter++; // Sätt igång vinn skärmen VictoryScreen.Show(); } }
private void onGameStateChanged(GameState newState) { switch (newState) { case GameState.StartUp: mainMenuControl.Hide(); highscoreControl.Hide(); creditsControl.Hide(); pauseControl.Hide(); victoryControl.Hide(); gameOverControl.Hide(); hud.Hide(); audioPlayer.PlayEvent("audio/music/menu"); break; case GameState.Menu: mainMenuControl.Show(); highscoreControl.Hide(); creditsControl.Hide(); pauseControl.Hide(); victoryControl.Hide(); gameOverControl.Hide(); hud.Hide(); audioPlayer.PauseCategory("ingame"); audioPlayer.UnpauseCategory("menu"); break; case GameState.Highscore: mainMenuControl.Hide(); highscoreControl.Show(); creditsControl.Hide(); pauseControl.Hide(); victoryControl.Hide(); gameOverControl.Hide(); hud.Hide(); audioPlayer.PauseCategory("ingame"); audioPlayer.UnpauseCategory("menu"); break; case GameState.Credits: mainMenuControl.Hide(); highscoreControl.Hide(); creditsControl.Show(); pauseControl.Hide(); victoryControl.Hide(); gameOverControl.Hide(); hud.Hide(); creditsControl.Start(); audioPlayer.PauseCategory("ingame"); audioPlayer.UnpauseCategory("menu"); break; case GameState.Loading: mainMenuControl.Hide(); highscoreControl.Hide(); creditsControl.Hide(); pauseControl.Hide(); victoryControl.Hide(); gameOverControl.Hide();; hud.Hide(); audioPlayer.PlayEvent("audio/music/ingame"); OnDetach(); break; case GameState.Running: mainMenuControl.Hide(); highscoreControl.Hide(); creditsControl.Hide(); pauseControl.Hide(); victoryControl.Hide(); gameOverControl.Hide(); hud.Show(); audioPlayer.PauseCategory("menu"); audioPlayer.UnpauseCategory("ingame"); break; case GameState.Paused: pauseControl.Show(); victoryControl.Hide(); gameOverControl.Hide(); hud.Hide(); audioPlayer.PauseCategory("ingame"); audioPlayer.PauseCategory("menu"); break; case GameState.Victory: int remainingLifes = 0; if (playerEntity != null) // Happens on a draw { remainingLifes = playerEntity[HealthBehavior.Key_Lifes]; } int totalScore = 100 * remainingLifes + playerEntity[CollectsPointsBehavior.Key_PointsCollected]; victoryControl.CurrentScore = totalScore; mainMenuControl.Hide(); highscoreControl.Hide(); creditsControl.Hide(); pauseControl.Hide(); victoryControl.Show(); gameOverControl.Hide(); hud.Hide(); audioPlayer.StopCategory("ingame"); audioPlayer.PlayEvent("audio/game/win"); break; case GameState.GameOver: mainMenuControl.Hide(); highscoreControl.Hide(); creditsControl.Hide(); pauseControl.Hide(); victoryControl.Hide(); gameOverControl.Show(); hud.Hide(); audioPlayer.StopCategory("ingame"); audioPlayer.PlayEvent("audio/game/lose"); break; case GameState.Quit: audioPlayer.StopCategory("menu"); RenderForm.Close(); break; } }