예제 #1
0
        public PolymorphGump(Mobile caster, Item scroll) : base(50, 50)
        {
            m_Caster = caster;
            m_Scroll = scroll;

            int x, y;

            AddPage(0);
            AddBackground(0, 0, 585, 393, 5054);
            AddBackground(195, 36, 387, 275, 3000);
            AddHtmlLocalized(0, 0, 510, 18, 1015234, false, false);               // <center>Polymorph Selection Menu</center>
            AddHtmlLocalized(60, 355, 150, 18, 1011036, false, false);            // OKAY
            AddButton(25, 355, 4005, 4007, 1, GumpButtonType.Reply, 1);
            AddHtmlLocalized(320, 355, 150, 18, 1011012, false, false);           // CANCEL
            AddButton(285, 355, 4005, 4007, 0, GumpButtonType.Reply, 2);

            y = 35;
            for (int i = 0; i < Categories.Length; i++)
            {
                PolymorphCategory cat = (PolymorphCategory)Categories[i];
                AddHtmlLocalized(5, y, 150, 25, cat.LocNumber, true, false);
                AddButton(155, y, 4005, 4007, 0, GumpButtonType.Page, i + 1);
                y += 25;
            }

            for (int i = 0; i < Categories.Length; i++)
            {
                PolymorphCategory cat = (PolymorphCategory)Categories[i];
                AddPage(i + 1);

                for (int c = 0; c < cat.Entries.Length; c++)
                {
                    PolymorphEntry entry = (PolymorphEntry)cat.Entries[c];

                    // Scriptiz : si le type n'est pas une fée, il ne peux pas se transformer
                    if (entry == PolymorphEntry.Pixie && caster is PlayerMobile && !((PlayerMobile)caster).IsFairy)
                    {
                        continue;
                    }

                    x = 198 + (c % 3) * 129;
                    y = 38 + (c / 3) * 67;

                    AddHtmlLocalized(x, y, 100, 18, entry.LocNumber, false, false);
                    AddItem(x + 20, y + 25, entry.ArtID);
                    AddRadio(x, y + 20, 210, 211, false, (c << 8) + i);
                }
            }
        }
예제 #2
0
        public static ItemListEntry[] Main()
        {
            PolymorphCategory cat = (PolymorphCategory)Categories[0];

            ItemListEntry[] entries = new ItemListEntry[cat.Entries.Length];

            for (int i = 0; i < cat.Entries.Length; i++)
            {
                PolymorphEntry entry = (PolymorphEntry)cat.Entries[i];

                entries[i] = new ItemListEntry(entry.StringName, entry.ArtID);
            }

            return(entries);
        }
예제 #3
0
        public PolymorphGump(Mobile caster, Item scroll)
            : base(50, 50)
        {
            m_Caster = caster;
            m_Scroll = scroll;

            int x;

            AddPage(0);
            AddBackground(0, 0, 585, 393, 5054);
            AddBackground(195, 36, 387, 275, 3000);
            AddHtmlLocalized(0, 0, 510, 18, 1015234, false, false);     // <center>Polymorph Selection Menu</center>
            AddHtmlLocalized(60, 355, 150, 18, 1011036, false, false);  // OKAY
            AddButton(25, 355, 4005, 4007, 1, GumpButtonType.Reply, 1);
            AddHtmlLocalized(320, 355, 150, 18, 1011012, false, false); // CANCEL
            AddButton(285, 355, 4005, 4007, 0, GumpButtonType.Reply, 2);

            int y = 35;

            for (int i = 0; i < Categories.Length; i++)
            {
                PolymorphCategory cat = Categories[i];
                AddHtmlLocalized(5, y, 150, 25, cat.LocNumber, true, false);
                AddButton(155, y, 4005, 4007, 0, GumpButtonType.Page, i + 1);
                y += 25;
            }

            for (int i = 0; i < Categories.Length; i++)
            {
                PolymorphCategory cat = Categories[i];
                AddPage(i + 1);

                for (int c = 0; c < cat.Entries.Length; c++)
                {
                    PolymorphEntry entry = cat.Entries[c];
                    x = 198 + (c % 3) * 129;
                    y = 38 + (c / 3) * 67;

                    AddHtml(x, y, 100, 18, entry.GetName(), false, false);
                    AddItem(x + 20, y + 25, entry.ArtID);
                    AddRadio(x, y + 20, 210, 211, false, (c << 8) + i);
                }
            }
        }