public static void PokerKick_OnCommand(CommandEventArgs e) { Mobile from = e.Mobile; if (from == null) { return; } var list = from.GetMobilesInRange(0); foreach (var pm in list.OfType <PlayerMobile>().Where(pm => pm.PokerGame != null)) { PokerGame game = pm.PokerGame; PokerPlayer player; if (!game.IsPlayer(pm, out player)) { continue; } game.RemovePlayer(player); from.SendMessage("They have been removed from the poker table"); list.Free(); return; } list.Free(); from.SendMessage("No one found to kick from a poker table. Make sure you are standing on top of them."); }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; if (from == null) { return; } PokerPlayer player; _MGame.IsPlayer(from as PlayerMobile, out player); if (player != null) { if (info.ButtonID == 1) { if (_MGame.State == PokerGameState.Inactive || _MGame.State == PokerGameState.Intermission) { if (_MGame.Players.Contains(player)) { _MGame.RemovePlayer(player); } return; } if (player.RequestLeave) { from.SendMessage(0x22, "You have already submitted a request to leave."); } else { from.SendMessage(0x22, "You have submitted a request to leave the table."); player.RequestLeave = true; } } } }