protected override void PlayerRemoved(ServerPlayer player) { base.PlayerRemoved(player); Players.RemovePlayer(player); // tell everyone they went away RemovedPlayer?.Invoke(this, player); UpdatePublicListServer?.Invoke(this, EventArgs.Empty); }
protected void DoPlayerAdd(ServerPlayer player) { player.ActualTeam = TeamColors.ObserverTeam; PlayerPreAdd?.Invoke(this, player); // let someone set the team if (!Players.AddPlayer(player)) { SendReject(player, MsgReject.RejectionCodes.RejectTeamFull, Resources.TeamFullMessage.Replace("%T", player.DesiredTeam.ToString())); return; } player.NeedStartupInfo = false; UpdatePublicListServer?.Invoke(this, EventArgs.Empty); }