Esempio n. 1
0
        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);
            });
        }
Esempio n. 2
0
 protected void OnCancel(Mobile m)
 {
     if (_Target != null && _Target.User == m)
     {
         _Target = null;
     }
 }
Esempio n. 3
0
		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);
		}
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
		protected void OnCancel(Mobile m)
		{
			if (_Target != null && _Target.User == m)
			{
				_Target = null;
			}
		}