public bool IsGameOver(PlayerEnum player) { if (_winConditions.WinConditionForTopRow(player)) { return(true); } if (_winConditions.WinConditionForMiddleRow(player)) { return(true); } if (_winConditions.WinConditionForBottomRow(player)) { return(true); } if (_winConditions.WinConditionForLeftColumn(player)) { return(true); } if (_winConditions.WinConditionForMiddleColumn(player)) { return(true); } if (_winConditions.WinConditionForRightColumn(player)) { return(true); } if (_winConditions.WinConditionForTopLeftToBottomRightDiagonal(player)) { return(true); } if (_winConditions.WinConditionForTopRightToBottomLeftDiagonal(player)) { return(true); } if (_winConditions.DrawCondition()) { _gameManager.SetIsDraw(true); return(true); } return(false); }