protected virtual void OfferNewGame(Mobile from) { PendingPlayers.Add(from); State = BoardGameState.Pending; from.SendGump(new OfferNewGameGump(from, this, true)); }
public void EscapeQueue() { var name = ContextPlayerName; var escPlayer = PendingPlayers.FirstOrDefault(x => x.Name == name); if (escPlayer != null) { PendingPlayers.Remove(escPlayer); } }
//this is called by the await recruitment gump when the player chooses to cancel waiting public virtual void RemovePlayer(Mobile from) { from.CloseGump(typeof(AwaitRecruitmentGump)); from.CloseGump(typeof(SelectStyleGump)); Players.Remove(from); PendingPlayers.Remove(from); if (Players.Count == 0) { State = BoardGameState.Inactive; _SettingsReady = !_AllowPlayerConfiguration; } }
protected virtual void OfferRecruiting(Mobile from) { if (PendingPlayers.IndexOf(from) == -1) { if (PendingPlayers.Count < CurrentMaxPlayers) { PendingPlayers.Add(from); from.SendGump(new OfferNewGameGump(from, this, false)); } else { from.SendMessage("This game has enough players attempting to start a game. Please try again later."); } } else { from.SendGump(new AwaitRecruitmentGump(from, this)); } }
public PreConnectUnturnedPlayer GetPendingPlayerByName(string displayName) { return(PendingPlayers.FirstOrDefault(c => c.User.DisplayName.Equals(displayName, StringComparison.OrdinalIgnoreCase))); }
public PreConnectUnturnedPlayer GetPendingPlayer(string uniqueID) { return(PendingPlayers.FirstOrDefault(c => c.User.Id.Equals(uniqueID))); }