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)); } } }
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); }
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 ); }
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)); } } }
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; } }
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 ); }
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; } }
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; } } }
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; } } }
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; } }