// Don't actually remove the player, just inform others they have left public void RemovePlayer(Player player) { if (player != null && PlayerExists(player.Name) && PlayerRemoved != null) { PlayerEventArgs pea = new PlayerEventArgs(player); foreach (System.EventHandler <PlayerEventArgs> e in PlayerRemoved?.GetInvocationList()) { e.BeginInvoke(this, pea, e.EndInvoke, null); } } }
// Don't actually remove the player, just inform others they have left public void RemovePlayer(Player player) { if (player != null && PlayerExists(player.Name) && PlayerRemoved != null) { PlayerEventArgs pea = new PlayerEventArgs(player); foreach (System.EventHandler <PlayerEventArgs> e in PlayerRemoved?.GetInvocationList()) { Task.Run(() => e.Invoke(this, pea)); } } }
public void Clear() { if (PlayerRemoved != null) { PlayerEventArgs pea = new PlayerEventArgs(new Player() { Id = -1 }); foreach (System.EventHandler <PlayerEventArgs> e in PlayerRemoved?.GetInvocationList()) { e.BeginInvoke(this, pea, e.EndInvoke, null); } } }
public void Clear() { if (PlayerRemoved != null) { PlayerEventArgs pea = new PlayerEventArgs(new Player() { Id = -1 }); foreach (System.EventHandler <PlayerEventArgs> e in PlayerRemoved?.GetInvocationList()) { Task.Run(() => e.Invoke(this, pea)); } } }