Files
abysmal-isle/Scripts/Gumps/ConfirmHeritageGump.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

81 lines
2.8 KiB
C#

using System;
using Server.Items;
using Server.Network;
namespace Server.Gumps
{
public class ConfirmHeritageGump : Gump
{
private readonly HeritageToken m_Token;
private readonly Type[] m_Selected;
private readonly Mobile m_User;
public ConfirmHeritageGump(HeritageToken token, Type[] selected, int cliloc, Mobile from)
: base(60, 36)
{
this.m_Token = token;
this.m_Selected = selected;
this.m_User = from;
this.AddPage(0);
this.AddBackground(0, 0, 291, 99, 0x13BE);
this.AddImageTiled(5, 6, 280, 20, 0xA40);
this.AddHtmlLocalized(9, 8, 280, 20, 1070972, 0x7FFF, false, false); // Click "OKAY" to redeem the following promotional item:
this.AddImageTiled(5, 31, 280, 40, 0xA40);
this.AddHtmlLocalized(9, 35, 272, 40, cliloc, 0x7FFF, false, false);
this.AddButton(180, 73, 0xFB7, 0xFB8, (int)Buttons.Okay, GumpButtonType.Reply, 0);
this.AddHtmlLocalized(215, 75, 100, 20, 1011036, 0x7FFF, false, false); // OKAY
this.AddButton(5, 73, 0xFB1, 0xFB2, (int)Buttons.Cancel, GumpButtonType.Reply, 0);
this.AddHtmlLocalized(40, 75, 100, 20, 1060051, 0x7FFF, false, false); // CANCEL
}
private enum Buttons
{
Cancel,
Okay
}
public override void OnResponse(NetState sender, RelayInfo info)
{
if (this.m_Token == null || this.m_Token.Deleted ||
this.m_User == null || this.m_User.Deleted)
return;
if (!this.m_Token.IsChildOf(this.m_User.Backpack))
{
sender.Mobile.SendLocalizedMessage(1062334); // This item must be in your backpack to be used.
return;
}
switch ( info.ButtonID )
{
case (int)Buttons.Okay:
Item item = null;
foreach (Type type in this.m_Selected)
{
try
{
item = Activator.CreateInstance(type) as Item;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
if (item != null)
{
this.m_Token.Delete();
sender.Mobile.AddToBackpack(item);
}
}
break;
case (int)Buttons.Cancel:
sender.Mobile.SendGump(new HeritageTokenGump(this.m_Token, this.m_User));
break;
}
}
}
}