/// <summary> /// Removes the specified player. /// </summary> /// <param name="Player">The player.</param> internal void Remove(Player Player) { Player TmpPlayer; if (this.ContainsKey(Player.PlayerID)) { if (!this.TryRemove(Player.PlayerID, out TmpPlayer)) { Logging.Error(this.GetType(), "Unsuccessfuly removed the specified player from the dictionnary."); } else { if (!TmpPlayer.Equals(Player)) { Logging.Error(this.GetType(), "We successfully removed a player from the list but the returned player was not equal to our player."); } } } if (Player.GameMode != null) { if (Player.GameMode.CommandManager.AvailableServerCommands.Count > 0) { foreach (Command Command in Player.GameMode.CommandManager.AvailableServerCommands.Values.ToArray()) { if (Command.IsServerCommand) { Command.Execute(Player.GameMode); } } } } this.Save(Player); }
/// <summary> /// Removes the specified player. /// </summary> /// <param name="Player">The player.</param> internal void Remove(Player Player) { Player TmpPlayer; if (this.ContainsKey(Player.PlayerID)) { if (!this.TryRemove(Player.PlayerID, out TmpPlayer)) { Logging.Error(this.GetType(), "Unsuccessfuly removed the specified player from the dictionnary."); } else { if (!TmpPlayer.Equals(Player)) { Logging.Error(this.GetType(), "We successfully removed a player from the list but the returned player was not equal to our player."); } } } this.Save(Player); }