public void BroadcastSeatInfo(GamePlayer player) { if (seatReverse.ContainsKey(player)) BroadCastSeatInfo(seatReverse[player]); }
private void SendAllPlayerInfo(GamePlayer recepient) { for (int i = 0; i < MAX_SEAT; i++) { SendPlayerInfo(recepient, i); } }
private void SendPlayerInfo(GamePlayer recepient, int seatnum) { if (seat.ContainsKey(seatnum)) { recepient.Tunnel.SendMessage(String.Format( "seatinfo:{0},{1},{2}", seatnum, seat[seatnum].Name, seat[seatnum].Wallet ) ); } else { recepient.Tunnel.SendMessage(String.Format( "seatinfo:{0},{1},{2}", seatnum, "", 0 ) ); } }
private bool JoinGame(GamePlayer player, int seatnum) { if (seat.ContainsKey(seatnum)) { Logger.Log(LogType.Error, player.Name + " tried to take an occupied seat"); } else { if (seatnum >= 0 && seatnum < MAX_SEAT) { if (seat.ContainsValue(player) == false) { seat.Add(seatnum, player); seatReverse.Add(player, seatnum); player.Tunnel.SendMessage("ok"); BroadCastSeatInfo(seatnum); return true; } else { Logger.Log(LogType.Error, player.Name + " tried to sit without standing up first"); } } else { Logger.Log(LogType.Error, player.Name + " tried to take a non-existant seat"); } } return false; }
public bool WatchGame(GamePlayer player) { if (spectators.ContainsKey(player.Name)) { if (spectators[player.Name].Tunnel.SendMessage("alreadyin")) { Logger.Log(LogType.Error, player.Name + " tried to join a game that he is already in"); return false; } else { Logger.Log(LogType.Error, player.Name + " is rejoining a game he never properly quit from"); spectators.Remove(player.Name); } } player.Tunnel.SendMessage(player.Name); player.Tunnel.SendMessage(name); spectators.Add(player.Name, player); SendAllPlayerInfo(player); player.SetBank(player.Bank); return true; }
public void OnStandEvent(GamePlayer player) { if (seatReverse.ContainsKey(player)) { int i = seatReverse[player]; seat.Remove(i); seatReverse.Remove(player); Logger.Log(LogType.Event, player.Name + " stood up"); BroadCastSeatInfo(i); } else { Logger.Log(LogType.Error, player.Name + " tried to stand up when he wasn't sitting"); } }
public void OnQuitEvent(GamePlayer player) { if (seat.ContainsValue(player)) { List<int> toRemoveA = new List<int>(); List<GamePlayer> toRemoveB = new List<GamePlayer>(); foreach (KeyValuePair<int, GamePlayer> i in seat) { if (i.Value.Name == player.Name) { toRemoveA.Add(i.Key); toRemoveB.Add(i.Value); } } foreach (int i in toRemoveA) { seat.Remove(i); } foreach (GamePlayer i in toRemoveB) { seatReverse.Remove(i); } } if (spectators.ContainsKey(player.Name)) { spectators.Remove(player.Name); } //player.Destroy(); }
public bool OnAttemptSitEvent(GamePlayer player, int seatnum) { return JoinGame(player, seatnum); }