// Called when the level needs to end for a specific reason public void EndLevel(EndLevelReasons reason) { gameState = GameState.Ended; playerUI.SetActive(false); switch (reason) { case EndLevelReasons.PlayerEnergyRanOut: gameResultsCanvas.GetComponent <GameResults>().LevelFailed("Your energy ran out!", levelNumber + 1); break; case EndLevelReasons.PlayerFell: gameResultsCanvas.GetComponent <GameResults>().LevelFailed("You fell to your death!", levelNumber + 1); break; case EndLevelReasons.PlayerSuccess: int finalRating = CalculatePlayerRating(); if (GameManager.instance.playerLevel <= levelNumber) { GameManager.instance.playerLevel = levelNumber + 1; } SaveLevelDetails(); gameResultsCanvas.GetComponent <GameResults>().LevelComplete(score, finalRating, levelNumber + 1); break; } }
// Called when the level needs to end for a specific reason public void EndLevel(EndLevelReasons reason) { gameState = GameState.Ended; switch (reason) { case EndLevelReasons.PlayerEnergyRanOut: break; case EndLevelReasons.PlayerFell: break; case EndLevelReasons.PlayerQuit: break; case EndLevelReasons.PlayerSuccess: int finalRating = CalculatePlayerRating(); break; } }