protected virtual void AddEntry(int gx, int gy, int idx) { var ui = UI; ui.EntryPoint = new Point2D(gx, gy); User.SendMessage("Select a rune book or recall rune to add to the Codex..."); Minimized = true; Refresh(true); ItemSelectTarget <Item> .Begin( User, (m, t) => { if (Codex.Add(User, t, ui.Category, true)) { Minimized = false; SelectEntry(gx, gy, idx, ui.Category.Entries[gx, gy]); } else { AddEntry(gx, gy, idx); } }, m => { Minimized = false; Refresh(true); }); }
protected void OnCancel(Mobile m) { if (_Target != null && _Target.User == m) { _Target = null; } }
public override void OnDoubleClick(Mobile m) { if (!this.CheckDoubleClick(m, true, false, 2, true)) { return; } if (_Target != null) { _Target.Cancel(_Target.User, TargetCancelType.Overridden); _Target = null; } m.SendMessage("Which sash would you like to layer?"); m.Target = _Target = new ItemSelectTarget<Item>(OnTarget, OnCancel); }
public override void OnDoubleClick(Mobile m) { if (!this.CheckDoubleClick(m, true, false, 2, true)) { return; } if (_Target != null) { _Target.Cancel(_Target.User, TargetCancelType.Overridden); _Target = null; } m.SendMessage("Which sash would you like to layer?"); m.Target = _Target = new ItemSelectTarget <Item>(OnTarget, OnCancel); }
protected override void SelectEntry(GumpButton button, IVoteSite entry) { base.SelectEntry(button, entry); var opts = new MenuGumpOptions(); if (User.AccessLevel >= Voting.Access) { opts.AppendEntry( new ListGumpEntry( "Options", b => { Refresh(); var pg = new PropertiesGump(User, Selected) { X = b.X, Y = b.Y }; User.SendGump(pg); }, HighlightHue)); opts.AppendEntry( new ListGumpEntry( entry.Enabled ? "Disable" : "Enable", b1 => { entry.Enabled = !entry.Enabled; Refresh(true); }, entry.Enabled ? ErrorHue : HighlightHue)); opts.AppendEntry(new ListGumpEntry("Delete", DeleteSite, ErrorHue)); opts.AppendEntry( new ListGumpEntry( "Add To Stone", b => { Minimize(b); User.SendMessage(0x55, "Select a compatible Voting Stone..."); ItemSelectTarget <VotingStone> .Begin( User, (u, s) => { if (s != null && !s.Deleted) { s.SiteUID = entry.UID; User.SendMessage(0x55, "The Voting Stone site was changed to {0}.", entry.Name); } else { User.SendMessage(0x22, "That is not a compatible Voting Stone."); } Maximize(); }, u => Maximize()); })); opts.AppendEntry( new ListGumpEntry( "Create Stone", b => Send( new ConfirmDialogGump(User, this) { Title = "Create Voting Stone?", Html = "You didn't select a compatible Voting Stone.\nDo you want to create one in your pack?\n" + "Click OK to create a new Voting Stone for this site.", AcceptHandler = ab => { var stone = new VotingStone(entry.UID); if (User.AddToBackpack(stone)) { User.SendMessage(0x22, "The new Voting Stone was placed in your pack."); } else { stone.MoveToWorld(User.Location, User.Map); User.SendMessage(0x22, "The new Voting Stone was placed at your feet."); } } }))); opts.AppendEntry(new ListGumpEntry("Cancel", b => { })); } Send(new MenuGump(User, Refresh(), opts, button)); }