static void Output(GroupPlayers list, Player p, bool showWhenEmpty) { StringBuilder data = list.builder; if (data.Length == 0 && !showWhenEmpty) { return; } if (data.Length > 0) { data.Remove(data.Length - 1, 1); } string title = ":" + list.group.Color + GetPlural(list.group.Name) + ":"; p.Message(title + data.ToString()); }
public static string Output(GroupPlayers list) { StringBuilder data = list.builder; if (data.Length == 0) { return(null); } if (data.Length > 0) { data.Remove(data.Length - 1, 1); } string title = "**" + GetPlural(list.group.Name) + "**:"; return(title + data + "\n"); }
public override void Use(Player p, string message, CommandData data) { int totalPlayers = 0; if (message.Length > 0) { Group grp = Matcher.FindRanks(p, message); if (grp == null) { return; } GroupPlayers rankPlayers = Make(p, data, grp, ref totalPlayers); if (totalPlayers == 0) { p.Message("There are no players of that rank online."); } else { Output(rankPlayers, p, false); } return; } List <GroupPlayers> allPlayers = new List <GroupPlayers>(); foreach (Group grp in Group.GroupList) { allPlayers.Add(Make(p, data, grp, ref totalPlayers)); } if (totalPlayers == 1) { p.Message("There is &a1 &Splayer online."); } else { p.Message("There are &a" + totalPlayers + " &Splayers online."); } for (int i = allPlayers.Count - 1; i >= 0; i--) { Output(allPlayers[i], p, Server.Config.ListEmptyRanks); } }
public void RecalculatePoints() { foreach (GroupPlayerInfo player in Players) { player.Points = GetPlayerPoints(player.Id); player.BergerKoef = GetBergerKoef(player.Id); } bool all_matches_over = true; foreach (MatchInfo match in Matches.Values) { all_matches_over = all_matches_over && match.IsOver; } List <GroupPlayerInfo> players = new List <GroupPlayerInfo>(GroupPlayers.Values.ToArray()); players.Sort(new GroupPlayerInfo.ComparerByPoints()); int index = 0; int points = -1; double kb = -1; foreach (GroupPlayerInfo player in players) { if (GroupPlayers[player.Id].Points != points || GroupPlayers[player.Id].BergerKoef != kb) { index++; kb = GroupPlayers[player.Id].BergerKoef; points = GroupPlayers[player.Id].Points; } if (all_matches_over) { GroupPlayers[player.Id].Place = index; } else { GroupPlayers[player.Id].Place = 0; } } // Пересортировуем группу по очкам GroupPlayers.Clear(); foreach (GroupPlayerInfo player in players) { GroupPlayers.Add(player.Id, player); } }
static void Append(GroupPlayers list, Player p, bool showmaps) { StringBuilder data = list.builder; data.Append(' '); if (p.voice) { data.Append("+").Append(list.group.Color); } data.Append(Colors.Strip(Player.Console.FormatNick(p))); if (p.muted) { data.Append("-muted"); } if (p.frozen) { data.Append("-frozen"); } if (p.Game.Referee) { data.Append("-ref"); } if (p.IsAfk) { data.Append("-afk"); } if (p.Unverified) { data.Append("-unverified"); } if (!showmaps) { data.Append(","); return; } string lvlName = Colors.Strip(p.level.name); // for museums data.Append(" (").Append(lvlName).Append("),"); }
static void Append(Player target, GroupPlayers list, Player p) { StringBuilder data = list.builder; data.Append(' '); if (p.voice) { data.Append("&f+").Append(list.group.Color); } data.Append(Colors.StripUsed(target.FormatNick(p))); if (p.hidden) { data.Append("-hidden"); } if (p.muted) { data.Append("-muted"); } if (p.frozen) { data.Append("-frozen"); } if (p.Game.Referee) { data.Append("-ref"); } if (p.IsAfk) { data.Append("-afk"); } if (p.Unverified) { data.Append("-unverified"); } string lvlName = Colors.Strip(p.level.name); // for museums data.Append(" (").Append(lvlName).Append("),"); }
static void Append(GroupPlayers list, Player pl) { StringBuilder data = list.builder; data.Append(' '); if (pl.voice) { data.Append("&f+").Append(list.group.Color); } data.Append(Colors.Strip(pl.DisplayName)); if (pl.hidden) { data.Append("-hidden"); } if (pl.muted) { data.Append("-muted"); } if (pl.frozen) { data.Append("-frozen"); } if (pl.Game.Referee) { data.Append("-ref"); } if (pl.IsAfk) { data.Append("-afk"); } if (pl.Unverified) { data.Append("-unverified"); } string lvlName = Colors.Strip(pl.level.name); // for museums data.Append(" (").Append(lvlName).Append("),"); }