示例#1
0
 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);
         }
     }
 }
示例#2
0
 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();
     }
 }