public Team CreateTeam(string name, string displayName, bool allowFriendlyFire, string playerPrefix, string playerSuffix) { if (Teams.Any(t => t.Name == name)) throw new DuplicateKeyException("The specified team already exists."); var team = new Team(Server, this, name, displayName, allowFriendlyFire, playerPrefix, playerSuffix); foreach (var client in Server.Clients.Where(c => c.IsLoggedIn)) client.SendPacket(SetTeamsPacket.CreateTeam(name, displayName, playerPrefix, playerSuffix, allowFriendlyFire, new string[0])); Teams.Add(team); return team; }
public void RemoveTeam(Team team) { if (!Teams.Contains(team)) throw new KeyNotFoundException("This team is not known to the server."); Teams.Remove(team); foreach (var client in Server.Clients.Where(c => c.IsLoggedIn)) client.SendPacket(SetTeamsPacket.RemoveTeam(team.Name)); }