private void OnBallDeath(Ball obj) { if (BallsManager.Instance.Balls.Count <= 0) { this.Lives--; if (this.Lives < 1) { //show gameover screen gameOverScreen.SetActive(true); music.Stop(); gameOverMusic.Play(); } else { OnLifeLost?.Invoke(this.Lives); //reset balls //stop game //reload level BallsManager.Instance.ResetBalls(); IsGameStarted = false; BricksManager.Instance.LoadLevel(BricksManager.Instance.CurrentLevel); } } }
private void Start() { NotUpdatableGUIGamePlayView(); _achievementUnlockedGamePlay.text = ""; OnLifeLostDel += DeleteGUIGamePlayView; }
public void RestartGame() { // Invoke OnLifeLost to pass remaining lives OnLifeLost?.Invoke(this.Lives); // Reset balls BallsManager.Instance.ResetBalls(); // Stop the game IsGameStarted = false; }
public void RemoveLife() { lives -= 1; OnLifeLost?.Invoke(lives); if (lives == 0) { OnLevelPause?.Invoke(false); OnLevelLose?.Invoke(); } }
private void OnBallDeath(BallHandler ball) { if (BallsManager.Instance.Balls.Count <= 0) { this.Lives--; if (this.Lives < 1) { gameOverScreen.SetActive(true); } else { OnLifeLost?.Invoke(this.Lives); BallsManager.Instance.ResetBalls(); isGameStarted = false; BricksManager.Instance.LoadLevel(BricksManager.Instance.CurrentLevel); } } }
public void DecreaseLifes(Unit sender) { if (CurrentLifes > sender.DamageToLifes) { CurrentLifes -= sender.DamageToLifes; if (OnLifeLost != null) { OnLifeLost.Invoke(sender.DamageToLifes); } } else { if (OnLifeLost != null) { OnLifeLost.Invoke(CurrentLifes); } GameOver(); } sender.Disable(); }
public static void LifeLost() { OnLifeLost?.Invoke(); }
private void Start() { // broadcast initial values for lives and score for hud OnLifeLost?.Invoke(lives); OnScoreChange?.Invoke(score); }