Esempio n. 1
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            PlayerMobile pm = sender.Mobile as PlayerMobile;

            if (pm == null)
            {
                return;
            }

            if (m_Collection is BritainLibraryCollection)
            {
                BritainLibraryCollection col = m_Collection as BritainLibraryCollection;

                if (col.Representative != null && pm.GetDistanceToSqrt(col.Representative.Location) > 10)
                {
                    return;
                }
            }
            else if (pm.GetDistanceToSqrt(m_Collection.Location) > 10)
            {
                return;
            }

            if (info.ButtonID == 1)
            {
                //pm.CloseGump<CollectionRewardGump>();
                pm.SendGump(new CollectionDonateGump(m_Collection, m_From));
            }
            else if (info.ButtonID >= 100)
            {
                int i = info.ButtonID - 100;

                if (i < 0 || i >= m_Collection.Rewards.Length || pm.Backpack == null)
                {
                    return;
                }

                IRewardEntry entry = m_Collection.Rewards[i];

                if (entry.Hues == null)
                {
                    pm.SendGump(new CollectionConfirmReward(m_Collection, entry, pm, 0));
                }
                else if (entry.Hues.Length == 1)
                {
                    pm.SendGump(new CollectionConfirmReward(m_Collection, entry, pm, entry.Hues[0]));
                }
                else
                {
                    pm.SendGump(new CollectionSelectHueGump(m_Collection, entry, pm));
                }
            }
        }
Esempio n. 2
0
        public CollectionConfirmReward(CollectionController collection, IRewardEntry entry, Mobile from, int hue)
            : base(120, 50)
        {
            m_Collection = collection;
            m_Entry      = entry;
            m_Hue        = hue;
            m_From       = from;

            AddPage(0);

            Closable = false;
            AddImageTiled(0, 0, 348, 262, 0xA8E);
            AddAlphaRegion(0, 0, 348, 262);
            AddImage(0, 15, 0x27A8);
            AddImageTiled(0, 30, 17, 200, 0x27A7);
            AddImage(0, 230, 0x27AA);
            AddImage(15, 0, 0x280C);
            AddImageTiled(30, 0, 300, 17, 0x280A);
            AddImage(315, 0, 0x280E);
            AddImage(15, 244, 0x280C);
            AddImageTiled(30, 244, 300, 17, 0x280A);
            AddImage(315, 244, 0x280E);
            AddImage(330, 15, 0x27A8);
            AddImageTiled(330, 30, 17, 200, 0x27A7);
            AddImage(330, 230, 0x27AA);
            AddImage(333, 2, 0x2716);
            AddImage(333, 248, 0x2716);
            AddImage(2, 248, 0x2716);
            AddImage(2, 2, 0x2716);
            AddItem(130, 120, entry.Tile, hue);

            if (entry.Cliloc != -1)
            {
                AddTooltip(entry.Cliloc);
            }

            AddHtmlLocalized(25, 22, 200, 20, 1074974, 0x7D00, false, false);               // Confirm Selection
            AddImage(25, 40, 0xBBF);
            AddHtmlLocalized(25, 55, 300, 120, 1074975, 0xFFFFFF, false, false);            // Are you sure you wish to select this?
            AddRadio(25, 175, 0x25F8, 0x25FB, true, 1);
            AddRadio(25, 210, 0x25F8, 0x25FB, false, 0);
            AddHtmlLocalized(60, 180, 280, 20, 1074976, 0xFFFFFF, false, false);               // Yes
            AddHtmlLocalized(60, 215, 280, 20, 1074977, 0xFFFFFF, false, false);               // No
            AddButton(265, 220, 0xF7, 0xF8, 7, GumpButtonType.Reply, 0);
        }
Esempio n. 3
0
        public RewardConfirmGump(RewardGump parent, int index, IRewardEntry entry)
            : base(120, 50)
        {
            m_Parent = parent;
            m_Index  = index;

            Closable = false;

            AddPage(0);

            AddImageTiled(0, 0, 348, 262, 0xA8E);
            AddAlphaRegion(0, 0, 348, 262);
            AddImage(0, 15, 0x27A8);
            AddImageTiled(0, 30, 17, 200, 0x27A7);
            AddImage(0, 230, 0x27AA);
            AddImage(15, 0, 0x280C);
            AddImageTiled(30, 0, 300, 17, 0x280A);
            AddImage(315, 0, 0x280E);
            AddImage(15, 244, 0x280C);
            AddImageTiled(30, 244, 300, 17, 0x280A);
            AddImage(315, 244, 0x280E);
            AddImage(330, 15, 0x27A8);
            AddImageTiled(330, 30, 17, 200, 0x27A7);
            AddImage(330, 230, 0x27AA);
            AddImage(333, 2, 0x2716);
            AddImage(333, 248, 0x2716);
            AddImage(2, 248, 0x2716);
            AddImage(2, 2, 0x2716);

            AddItem(140, 120, entry.ItemID, entry.Hue);

            if (entry.Tooltip != 0)
            {
                AddTooltip(entry.Tooltip);
            }

            AddHtmlLocalized(25, 22, 200, 20, 1074974, 0x7D00);    // Confirm Selection
            AddImage(25, 40, 0xBBF);
            AddHtmlLocalized(25, 55, 300, 120, 1074975, 0xFFFFFF); // Are you sure you wish to select this?
            AddRadio(25, 175, 0x25F8, 0x25FB, true, 1);
            AddRadio(25, 210, 0x25F8, 0x25FB, false, 0);
            AddHtmlLocalized(60, 180, 280, 20, 1074976, 0xFFFFFF); // Yes
            AddHtmlLocalized(60, 215, 280, 20, 1074977, 0xFFFFFF); // No
            AddButton(265, 220, 0xF7, 0xF8, 7);
        }
        public CollectionConfirmReward( CollectionController collection, IRewardEntry entry, Mobile from, int hue )
            : base(120, 50)
        {
            m_Collection = collection;
            m_Entry = entry;
            m_Hue = hue;
            m_From = from;

            AddPage( 0 );

            Closable = false;
            AddImageTiled( 0, 0, 348, 262, 0xA8E );
            AddAlphaRegion( 0, 0, 348, 262 );
            AddImage( 0, 15, 0x27A8 );
            AddImageTiled( 0, 30, 17, 200, 0x27A7 );
            AddImage( 0, 230, 0x27AA );
            AddImage( 15, 0, 0x280C );
            AddImageTiled( 30, 0, 300, 17, 0x280A );
            AddImage( 315, 0, 0x280E );
            AddImage( 15, 244, 0x280C );
            AddImageTiled( 30, 244, 300, 17, 0x280A );
            AddImage( 315, 244, 0x280E );
            AddImage( 330, 15, 0x27A8 );
            AddImageTiled( 330, 30, 17, 200, 0x27A7 );
            AddImage( 330, 230, 0x27AA );
            AddImage( 333, 2, 0x2716 );
            AddImage( 333, 248, 0x2716 );
            AddImage( 2, 248, 0x2716 );
            AddImage( 2, 2, 0x2716 );
            AddItem( 130, 120, entry.Tile, hue );

            if ( entry.Cliloc != -1 )
                AddTooltip( entry.Cliloc );

            AddHtmlLocalized( 25, 22, 200, 20, 1074974, 0x7D00, false, false ); // Confirm Selection
            AddImage( 25, 40, 0xBBF );
            AddHtmlLocalized( 25, 55, 300, 120, 1074975, 0xFFFFFF, false, false ); // Are you sure you wish to select this?
            AddRadio( 25, 175, 0x25F8, 0x25FB, true, 1 );
            AddRadio( 25, 210, 0x25F8, 0x25FB, false, 0 );
            AddHtmlLocalized( 60, 180, 280, 20, 1074976, 0xFFFFFF, false, false ); // Yes
            AddHtmlLocalized( 60, 215, 280, 20, 1074977, 0xFFFFFF, false, false ); // No
            AddButton( 265, 220, 0xF7, 0xF8, 7, GumpButtonType.Reply, 0 );
        }
Esempio n. 5
0
        public override void OnResponse(NetState sender, RelayInfo info)
        {
            int choice = info.ButtonID;

            if (choice == 0)
            {
                return; // Close
            }
            choice -= 100;

            if (choice >= 0 && choice < m_Rewards.Length)
            {
                IRewardEntry entry = m_Rewards[choice];

                if (entry.Price <= m_Points)
                {
                    sender.Mobile.SendGump(new RewardConfirmGump(this, choice, entry));
                }
            }
        }
Esempio n. 6
0
		public RewardGump( TextDefinition title, IRewardEntry[] rewards, int points, RewardPickedHandler onPicked )
			: base( 250, 50 )
		{
			m_Title = title;
			m_Rewards = rewards;
			m_Points = points;
			m_OnPicked = onPicked;

			AddPage( 0 );

			AddImage( 0, 0, 0x1F40 );
			AddImageTiled( 20, 37, 300, 308, 0x1F42 );
			AddImage( 20, 325, 0x1F43 );
			AddImage( 35, 8, 0x39 );
			AddImageTiled( 65, 8, 257, 10, 0x3A );
			AddImage( 290, 8, 0x3B );
			AddImage( 32, 33, 0x2635 );
			AddImageTiled( 70, 55, 230, 2, 0x23C5 );

			if ( m_Title.String != null )
				AddHtml( 70, 35, 270, 20, m_Title.String, false, false );
			else if ( m_Title.Number != 0 )
				AddHtmlLocalized( 70, 35, 270, 20, m_Title.Number, 1, false, false );

			AddHtmlLocalized( 50, 65, 150, 20, 1072843, 1, false, false ); // Your Reward Points:
			AddLabel( 230, 65, 0x64, m_Points.ToString() );
			AddImageTiled( 35, 85, 270, 2, 0x23C5 );
			AddHtmlLocalized( 35, 90, 270, 20, 1072844, 1, false, false ); // Please Choose a Reward:

			AddPage( 1 );

			int offset = 110;
			int page = 1;

			for ( int i = 0; i < m_Rewards.Length; ++i )
			{
				IRewardEntry entry = m_Rewards[i];

				Rectangle2D bounds = ItemBounds.Table[entry.ItemID];
				int height = Math.Max( 36, bounds.Height );

				if ( offset + height > 320 )
				{
					AddHtmlLocalized( 240, 335, 60, 20, 1072854, 1, false, false ); // <div align=right>Next</div>
					AddButton( 300, 335, 0x15E1, 0x15E5, 51, GumpButtonType.Page, page + 1 );

					AddPage( ++page );

					AddButton( 150, 335, 0x15E3, 0x15E7, 52, GumpButtonType.Page, page - 1 );
					AddHtmlLocalized( 170, 335, 60, 20, 1074880, 1, false, false ); // Previous

					offset = 110;
				}

				bool available = ( entry.Price <= m_Points );
				int half = offset + ( height / 2 );

				if ( available )
					AddButton( 35, half - 6, 0x837, 0x838, 100 + i, GumpButtonType.Reply, 0 );

				AddItem( 83 - ( bounds.Width / 2 ) - bounds.X, half - ( bounds.Height / 2 ) - bounds.Y, entry.ItemID, available ? entry.Hue : 995 );

				if ( entry.Tooltip != 0 )
					AddTooltip( entry.Tooltip );

				AddLabel( 133, half - 10, available ? 0x64 : 0x21, entry.Price.ToString() );

				if ( entry.Description != null )
				{
					if ( entry.Description.String != null )
						AddHtml( 190, offset, 114, height, entry.Description.String, false, false );
					else if ( entry.Description.Number != 0 )
						AddHtmlLocalized( 190, offset, 114, height, entry.Description.Number, 1, false, false );
				}

				offset += height + 10;
			}
		}
Esempio n. 7
0
		public RewardConfirmGump( RewardGump parent, int index, IRewardEntry entry )
			: base( 120, 50 )
		{
			m_Parent = parent;
			m_Index = index;

			Closable = false;

			AddPage( 0 );

			AddImageTiled( 0, 0, 348, 262, 0xA8E );
			AddAlphaRegion( 0, 0, 348, 262 );
			AddImage( 0, 15, 0x27A8 );
			AddImageTiled( 0, 30, 17, 200, 0x27A7 );
			AddImage( 0, 230, 0x27AA );
			AddImage( 15, 0, 0x280C );
			AddImageTiled( 30, 0, 300, 17, 0x280A );
			AddImage( 315, 0, 0x280E );
			AddImage( 15, 244, 0x280C );
			AddImageTiled( 30, 244, 300, 17, 0x280A );
			AddImage( 315, 244, 0x280E );
			AddImage( 330, 15, 0x27A8 );
			AddImageTiled( 330, 30, 17, 200, 0x27A7 );
			AddImage( 330, 230, 0x27AA );
			AddImage( 333, 2, 0x2716 );
			AddImage( 333, 248, 0x2716 );
			AddImage( 2, 248, 0x2716 );
			AddImage( 2, 2, 0x2716 );

			AddItem( 140, 120, entry.ItemID, entry.Hue );

			if ( entry.Tooltip != 0 )
				AddTooltip( entry.Tooltip );

			AddHtmlLocalized( 25, 22, 200, 20, 1074974, 0x7D00, false, false ); // Confirm Selection
			AddImage( 25, 40, 0xBBF );
			AddHtmlLocalized( 25, 55, 300, 120, 1074975, 0xFFFFFF, false, false ); // Are you sure you wish to select this?
			AddRadio( 25, 175, 0x25F8, 0x25FB, true, 1 );
			AddRadio( 25, 210, 0x25F8, 0x25FB, false, 0 );
			AddHtmlLocalized( 60, 180, 280, 20, 1074976, 0xFFFFFF, false, false ); // Yes
			AddHtmlLocalized( 60, 215, 280, 20, 1074977, 0xFFFFFF, false, false ); // No
			AddButton( 265, 220, 0xF7, 0xF8, 7, GumpButtonType.Reply, 0 );
		}
Esempio n. 8
0
        public RewardGump(TextDefinition title, IRewardEntry[] rewards, int points, RewardPickedHandler onPicked)
            : base(250, 50)
        {
            m_Title    = title;
            m_Rewards  = rewards;
            m_Points   = points;
            m_OnPicked = onPicked;

            AddPage(0);

            AddImage(0, 0, 0x1F40);
            AddImageTiled(20, 37, 300, 308, 0x1F42);
            AddImage(20, 325, 0x1F43);
            AddImage(35, 8, 0x39);
            AddImageTiled(65, 8, 257, 10, 0x3A);
            AddImage(290, 8, 0x3B);
            AddImage(32, 33, 0x2635);
            AddImageTiled(70, 55, 230, 2, 0x23C5);

            if (m_Title.String != null)
            {
                AddHtml(70, 35, 270, 20, m_Title.String, false, false);
            }
            else if (m_Title.Number != 0)
            {
                AddHtmlLocalized(70, 35, 270, 20, m_Title.Number, 1, false, false);
            }

            AddHtmlLocalized(50, 65, 150, 20, 1072843, 1, false, false); // Your Reward Points:
            AddLabel(230, 65, 0x64, m_Points.ToString());
            AddImageTiled(35, 85, 270, 2, 0x23C5);
            AddHtmlLocalized(35, 90, 270, 20, 1072844, 1, false, false); // Please Choose a Reward:

            AddPage(1);

            int offset = 110;
            int page   = 1;

            for (int i = 0; i < m_Rewards.Length; ++i)
            {
                IRewardEntry entry = m_Rewards[i];

                Rectangle2D bounds = ItemBounds.Table[entry.ItemID];
                int         height = Math.Max(36, bounds.Height);

                if (offset + height > 320)
                {
                    AddHtmlLocalized(240, 335, 60, 20, 1072854, 1, false, false); // <div align=right>Next</div>
                    AddButton(300, 335, 0x15E1, 0x15E5, 51, GumpButtonType.Page, page + 1);

                    AddPage(++page);

                    AddButton(150, 335, 0x15E3, 0x15E7, 52, GumpButtonType.Page, page - 1);
                    AddHtmlLocalized(170, 335, 60, 20, 1074880, 1, false, false); // Previous

                    offset = 110;
                }

                bool available = (entry.Price <= m_Points);
                int  half      = offset + (height / 2);

                if (available)
                {
                    AddButton(35, half - 6, 0x837, 0x838, 100 + i, GumpButtonType.Reply, 0);
                }

                AddItem(83 - (bounds.Width / 2) - bounds.X, half - (bounds.Height / 2) - bounds.Y, entry.ItemID, available ? entry.Hue : 995);

                if (entry.Tooltip != 0)
                {
                    AddTooltip(entry.Tooltip);
                }

                AddLabel(133, half - 10, available ? 0x64 : 0x21, entry.Price.ToString());

                if (entry.Description != null)
                {
                    if (entry.Description.String != null)
                    {
                        AddHtml(190, offset, 114, height, entry.Description.String, false, false);
                    }
                    else if (entry.Description.Number != 0)
                    {
                        AddHtmlLocalized(190, offset, 114, height, entry.Description.Number, 1, false, false);
                    }
                }

                offset += height + 10;
            }
        }
Esempio n. 9
0
        public CollectionSelectHueGump(CollectionController collection, IRewardEntry entry, Mobile from)
            : base(250, 50)
        {
            m_Collection = collection;
            m_Entry      = entry;
            m_From       = from;

            m_Points = (int)m_Collection.Table[from];

            // Cabecera
            AddPage(0);

            AddImage(0, 0, 0x1F40);
            AddImageTiled(20, 37, 300, 308, 0x1F42);
            AddImage(20, 325, 0x1F43);
            AddImage(35, 8, 0x39);
            AddImageTiled(65, 8, 257, 10, 0x3A);
            AddImage(290, 8, 0x3B);
            AddImage(32, 33, 0x2635);
            AddImageTiled(70, 55, 230, 2, 0x23C5);
            AddHtmlLocalized(70, 35, 270, 20, 1072835, 0x1, false, false);               // Community Collection

            AddButton(50, 335, 0x15E3, 0x15E7, -1, GumpButtonType.Reply, 0);
            AddHtmlLocalized(75, 335, 100, 20, 1072842, 0x1, false, false);               // Rewards
            // Fin Cabecera

            int  page      = 1;
            bool shouldadd = true;
            int  y         = 130;

            if (m_Entry.Type.IsSubclassOf(typeof(Item)))
            {
                Item i = Activator.CreateInstance(m_Entry.Type) as Item;
                m_ItemID = i.ItemID;
                i.Delete();
            }

            for (int i = 0; i < m_Entry.Hues.Length; i++)
            {
                if (shouldadd)
                {
                    AddPage(page);
                    StartPage();
                    shouldadd = false;
                }

                int hue = entry.Hues[i];

                AddButton(35, y, 0x837, 0x838, i + 1, GumpButtonType.Reply, 0);

                AddItem(55, y - 5, m_ItemID, hue);
                AddTooltip(entry.Cliloc);

                if (i == m_Entry.Hues.Length - 1)
                {
                    EndPage(page, true);
                }
                else if (y >= 290)
                {
                    y         = 130;
                    shouldadd = true;
                    EndPage(page, false);
                    page++;
                }
                else
                {
                    y += 40;
                }
            }
        }
Esempio n. 10
0
        public CollectionSelectHueGump( CollectionController collection, IRewardEntry entry, Mobile from )
            : base(250, 50)
        {
            m_Collection = collection;
            m_Entry = entry;
            m_From = from;

            m_Points = (int) m_Collection.Table[from];

            // Cabecera
            AddPage( 0 );

            AddImage( 0, 0, 0x1F40 );
            AddImageTiled( 20, 37, 300, 308, 0x1F42 );
            AddImage( 20, 325, 0x1F43 );
            AddImage( 35, 8, 0x39 );
            AddImageTiled( 65, 8, 257, 10, 0x3A );
            AddImage( 290, 8, 0x3B );
            AddImage( 32, 33, 0x2635 );
            AddImageTiled( 70, 55, 230, 2, 0x23C5 );
            AddHtmlLocalized( 70, 35, 270, 20, 1072835, 0x1, false, false ); // Community Collection

            AddButton( 50, 335, 0x15E3, 0x15E7, -1, GumpButtonType.Reply, 0 );
            AddHtmlLocalized( 75, 335, 100, 20, 1072842, 0x1, false, false ); // Rewards
            // Fin Cabecera

            int page = 1;
            bool shouldadd = true;
            int y = 130;

            if ( m_Entry.Type.IsSubclassOf( typeof( Item ) ) )
            {
                Item i = Activator.CreateInstance( m_Entry.Type ) as Item;
                m_ItemID = i.ItemID;
                i.Delete();
            }

            for ( int i = 0; i < m_Entry.Hues.Length; i++ )
            {
                if ( shouldadd )
                {
                    AddPage( page );
                    StartPage();
                    shouldadd = false;
                }

                int hue = entry.Hues[i];

                AddButton( 35, y, 0x837, 0x838, i + 1, GumpButtonType.Reply, 0 );

                AddItem( 55, y - 5, m_ItemID, hue );
                AddTooltip( entry.Cliloc );

                if ( i == m_Entry.Hues.Length - 1 )
                {
                    EndPage( page, true );
                }
                else if ( y >= 290 )
                {
                    y = 130;
                    shouldadd = true;
                    EndPage( page, false );
                    page++;
                }
                else
                {
                    y += 40;
                }
            }
        }
Esempio n. 11
0
        public void GetMax( IRewardEntry[] list )
        {
            m_Max = 0;

            if ( list != null )
            {
                for ( int i = 0; i < list.Length; i++ )
                    if ( m_Max < list[i].Width )
                        m_Max = list[i].Width;
            }
        }