private eSingleGameFuncResult handleGameOver(GameManager i_GameManager) { eSingleGameFuncResult retResult = eSingleGameFuncResult.Finished; GameResult gameResult = i_GameManager.Result; if (gameResult.Result == GameResult.eResult.PlayerWon) { m_GamePlayers.AddScore(gameResult.WinPlayerIndex); } m_UI.UpdatePlayersStats(m_GamePlayers); if (m_UI.ShouldRunAnotherGame(m_GamePlayers, i_GameManager.Result)) { retResult = eSingleGameFuncResult.RunAnotherGame; } return(retResult); }
// handle a single game that was finished, according to its last game move result private eSingleGameFuncResult handleSingleGameFinished(eSingleMoveResult i_LastGameMoveResult) { eSingleGameFuncResult retSingleGameResult = eSingleGameFuncResult.Finished; switch (i_LastGameMoveResult) { case eSingleMoveResult.Error: m_UI.ShowError(); retSingleGameResult = eSingleGameFuncResult.Finished; break; case eSingleMoveResult.Ok: case eSingleMoveResult.GameOver: retSingleGameResult = handleGameOver(m_CurrGameManager); break; } return(retSingleGameResult); }