public ConfirmHeritageQuestGump(HeritageQuester quester) : base(50, 50) { m_Quester = quester; Closable = true; Disposable = true; Dragable = true; Resizable = false; AddPage(0); AddBackground(0, 0, 240, 135, 0x2422); object message = m_Quester.ConfirmMessage; if (message is int) { AddHtmlLocalized(15, 15, 210, 75, (int)message, 0x0, false, false); } else if (message is string) { AddHtml(15, 15, 210, 75, (string)message, false, false); } AddButton(160, 95, 0xF7, 0xF8, (int)Buttons.Okay, GumpButtonType.Reply, 0); AddButton(90, 95, 0xF2, 0xF1, (int)Buttons.Close, GumpButtonType.Reply, 0); }
private void CloseHeritageGump(object args) { if (args is Mobile m) { if (HeritageQuester.IsPending(m)) { m.Send(HeritagePacket.Close); HeritageQuester.RemovePending(m); } } }
public override void OnResponse(NetState state, RelayInfo info) { if (m_Quester == null) { return; } if (info.ButtonID == (int)Buttons.Okay) { Mobile m = state.Mobile; if (HeritageQuester.Check(m)) { HeritageQuester.AddPending(m, m_Quester); Timer.DelayCall(TimeSpan.FromMinutes(1), new TimerStateCallback(CloseHeritageGump), m); state.Mobile.Send(new HeritagePacket(m.Female, (short)(m_Quester.Race.RaceID + 1))); } } }
public override void OnResponse(RelayInfo info) { int id = info.ButtonID; switch (id) { case 0: break; case 1: Mode = GumpMode.Select; Refresh(); break; default: if (User.NetState != null && HeritageQuester.Check(User) && RaceChangeToken.AddPending(User, Race.Races[id - 2], Token)) { User.NetState.Send(new HeritagePacket(User.Female, (short)(id - 1))); } break; } }