private void CheckingRoundConditions() { if (!isRoundChecked) { //===================================test for GAME TYPE 0============== if (GameType == 0) { //... } //==================================test for GAME TYPE 0============== //===================================test for GAME TYPE 1============== if (GameType == 1) { int HowManyDead = 0; List <int> _which_teamID_winner = new List <int>(); foreach (Players CurrentPlayer in LocalPlayersPool.Values) { if (CurrentPlayer.isDead) { HowManyDead++; } else { _which_teamID_winner.Add(CurrentPlayer.team_id); } } if (HowManyDead > 0) { Dictionary <Players, int> CheckingResult = new Dictionary <Players, int>(); foreach (Players CurrentPlayer in LocalPlayersPool.Values) { if (_which_teamID_winner.Contains(CurrentPlayer.team_id)) { CurrentPlayer.AddPVPScoreByTeamID(CurrentPlayer.team_id); } CheckingResult.Add(CurrentPlayer, CurrentPlayer.PlayerScoreInPvP); } Round++; bool isGameOver = false; foreach (var keys in CheckingResult.Keys) { if (CheckingResult[keys] == 2) { isGameOver = true; break; } } isRoundChecked = true; ManagePVPEndGame(10, isGameOver); } } //==================================test for GAME TYPE 1============== //===================================test for GAME TYPE 2============== if (GameType == 2) { int HowManyDead = 0; List <int> _which_teamID_winner = new List <int>(); Dictionary <int, int> TeamOfDead = new Dictionary <int, int>(); bool isRoundOver = false; foreach (Players CurrentPlayer in LocalPlayersPool.Values) { if (CurrentPlayer.isDead) { HowManyDead++; if (!TeamOfDead.ContainsKey(CurrentPlayer.team_id)) { TeamOfDead.Add(CurrentPlayer.team_id, 1); } else { TeamOfDead[CurrentPlayer.team_id] += 1; } if (TeamOfDead[CurrentPlayer.team_id] == 2) { isRoundOver = true; } } else { _which_teamID_winner.Add(CurrentPlayer.team_id); } } if (isRoundOver) { Dictionary <Players, int> CheckingResult = new Dictionary <Players, int>(); foreach (Players CurrentPlayer in LocalPlayersPool.Values) { if (_which_teamID_winner.Contains(CurrentPlayer.team_id)) { CurrentPlayer.AddPVPScoreByTeamID(CurrentPlayer.team_id); } CheckingResult.Add(CurrentPlayer, CurrentPlayer.PlayerScoreInPvP); } Round++; bool isGameOver = false; foreach (var keys in CheckingResult.Keys) { if (CheckingResult[keys] == 2) { isGameOver = true; break; } } isRoundChecked = true; ManagePVPEndGame(10, isGameOver); } } //==================================test for GAME TYPE 2============== //===================================test for GAME TYPE 3============== if (GameType == 3) { int HowManyDead = 0; Players winner = null; foreach (Players CurrentPlayer in LocalPlayersPool.Values) { if (CurrentPlayer.isDead) { HowManyDead++; } else { winner = CurrentPlayer; } } if (HowManyDead == 7) { Console.WriteLine("GAME OVER 7 dead !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); isRoundChecked = true; ManagePVPEndGame(10, true); } } //==================================test for GAME TYPE 3============== } }