private void OnPlayerMove(int blocksRemoved) { Score.SetScoreForRemovedBlocks(blocksRemoved); allowedMoves--; if (allowedMoves == 0) { Player.enabled = false; Score.HideScoring(); SaveGame saveGame = HighscoreUtility.LoadHighscore(); if (saveGame != null) { if (saveGame.Score < Score.Score) { HighscoreUtility.SaveHighscore(new SaveGame() { Score = Score.Score }); } } else { HighscoreUtility.SaveHighscore(new SaveGame() { Score = Score.Score }); } View.SetFinalScore(Score.Score); View.SetGameViewVisibility(true); } }
private void ReturnToMenu() { if (IsNewHighscore()) { HighscoreUtility.SaveHighscore(currentLevel); } UnityEngine.SceneManagement.SceneManager.LoadScene(0); }
void Start() { allowedMoves = Config.MovesAmount; Player.OnBlocksRemoved += OnPlayerMove; Score.SetGameConfig(Config); SetPlayerInput(); SaveGame saveGame = HighscoreUtility.LoadHighscore(); }
private void Start() { List <Level> allLevels = HighscoreUtility.LoadAllHighscores(); for (int i = 0; i < allLevels.Count; i++) { var level = allLevels[i]; var view = buttonViews.First((element) => element.LevelID == level.LevelID); view.SetHighscore(level.CurrentHighscore.ToString(), level.gameWon); } }
private bool IsNewHighscore() { bool newHighscore = false; Level previousHighscore = HighscoreUtility.LoadSpecificHighscore(currentLevel.LevelID); if (previousHighscore == null) { newHighscore = true; } else if (previousHighscore.CurrentHighscore < currentLevel.CurrentHighscore) { newHighscore = true; } else if (!previousHighscore.gameWon && currentLevel.gameWon) { newHighscore = true; } return(newHighscore); }