public GameMode.PlayerScore GetPlayerScoreForPlayer(BasePlayer player) { GameMode.PlayerScore playerScore = null; foreach (GameMode.PlayerScore playerScore2 in gameModeScores.playerScores) { if (playerScore2.userid == player.userID) { playerScore = playerScore2; break; } } if (playerScore == null) { playerScore = new GameMode.PlayerScore(); playerScore.ShouldPool = false; playerScore.playerName = player.displayName; playerScore.userid = player.userID; playerScore.scores = new List <int>(); string[] array = scoreColumns; for (int i = 0; i < array.Length; i++) { string text = array[i]; playerScore.scores.Add(0); } gameModeScores.playerScores.Add(playerScore); } return(playerScore); }
public void CopyGameModeScores(GameMode from, GameMode to) { to.teams.Clear(); to.scoreColumns.Clear(); to.playerScores.Clear(); foreach (GameMode.TeamInfo team in from.teams) { GameMode.TeamInfo teamInfo = new GameMode.TeamInfo(); teamInfo.score = team.score; to.teams.Add(teamInfo); } foreach (GameMode.ScoreColumn scoreColumn2 in from.scoreColumns) { GameMode.ScoreColumn scoreColumn = new GameMode.ScoreColumn(); scoreColumn.name = scoreColumn2.name; to.scoreColumns.Add(scoreColumn); } foreach (GameMode.PlayerScore playerScore2 in from.playerScores) { GameMode.PlayerScore playerScore = new GameMode.PlayerScore(); playerScore.playerName = playerScore2.playerName; playerScore.userid = playerScore2.userid; playerScore.team = playerScore2.team; playerScore.scores = new List <int>(); foreach (int score in playerScore2.scores) { playerScore.scores.Add(score); } to.playerScores.Add(playerScore); } }
public virtual bool IsDraw() { if (IsTeamGame()) { int num = -1; int num2 = 1000000; for (int i = 0; i < teams.Length; i++) { int teamScore = GetTeamScore(i); if (teamScore < num2) { num2 = teamScore; } if (teamScore > num) { num = teamScore; } } if (num == num2) { return(true); } return(false); } int num3 = -1; int num4 = 0; int num5 = ScoreColumnIndex(victoryScoreName); if (num5 != -1) { for (int j = 0; j < gameModeScores.playerScores.Count; j++) { GameMode.PlayerScore playerScore = gameModeScores.playerScores[j]; if (playerScore.scores[num5] > num3) { num3 = playerScore.scores[num5]; num4 = 1; } else if (playerScore.scores[num5] == num3) { num4++; } } } if (num3 != 0) { return(num4 > 1); } return(true); }
public virtual string GetWinnerName() { int num = -1; int num2 = -1; if (IsTeamGame()) { for (int i = 0; i < teams.Length; i++) { int teamScore = GetTeamScore(i); if (teamScore > num) { num = teamScore; num2 = i; } } if (num2 == -1) { return("NO ONE"); } return(teams[num2].name); } int num3 = ScoreColumnIndex(victoryScoreName); if (num3 != -1) { for (int j = 0; j < gameModeScores.playerScores.Count; j++) { GameMode.PlayerScore playerScore = gameModeScores.playerScores[j]; if (playerScore.scores[num3] > num) { num = playerScore.scores[num3]; num2 = j; } } } if (num2 != -1) { return(gameModeScores.playerScores[num2].playerName); } return(""); }
public virtual void OnPlayerDisconnected(BasePlayer player) { if (gameModeScores == null || base.isClient) { return; } GameMode.PlayerScore playerScore = null; foreach (GameMode.PlayerScore playerScore2 in gameModeScores.playerScores) { if (playerScore2.userid == player.userID) { playerScore = playerScore2; break; } } if (playerScore != null) { gameModeScores.playerScores.Remove(playerScore); } }
public virtual bool DidPlayerWin(BasePlayer player) { if (player == null) { return(false); } if (IsDraw()) { return(false); } if (IsTeamGame()) { GameMode.PlayerScore playerScoreForPlayer = GetPlayerScoreForPlayer(player); if (playerScoreForPlayer.team == -1) { return(false); } return(playerScoreForPlayer.team == GetWinningTeamIndex()); } return(GetPlayerRank(player) == 1); }