private void CheckGameOverConditions() { // Victory if (_grid.IsEmpty) { OnVictory(); } // Failed else if (_grid.IsFull() && !_grid.GetNextAvailableMove(out MoveInfo move)) { // Clear all checked cells if (_grid.GetRemainingNumbers().Count != _grid.Size) { _infoMessagePanel.Open(_boardFullMessage); } // Nothing to clear else { _infoMessagePanel.Open(_gameOverMessage); } } }
private void OnPlayButtonClicked() { // First load if (PlayerPrefs.GetInt(PlayerPrefKeys.HasPlayedTutorial) == 0) { _infoMessagePanel.Open(_welcomeMessage); PlayerPrefs.SetInt(PlayerPrefKeys.HasPlayedTutorial, 1); } // Game in progress else if (PlayerPrefs.GetInt(PlayerPrefKeys.HasGameInProgress) == 1) { NavigateToGameSelection(); } // No game in progress else { NavigateToDifficultyChoice(); } }