using Server.Gumps; using Server.Items; using Server.Network; using System; using System.IO; using System.Text; namespace Server.Gumps { public class SciterTestGump : Gump { public class Item { public string Name { get; set; } public int Count { get; set; } } public class Shop { public Item[] ShopItems { get; set; } = new Item[] { new Item(){Name="Arrow",Count = 10 }, new Item(){Name="Bolt",Count = 10 }, new Item(){Name="Gold",Count = 20000 }, }; } public Shop _shop = new Shop(); public SciterTestGump(Mobile user) : base( 0, 0 ) { UseWebRender = true; AddBody(body()); } public void TryToAddItem(Mobile m, int index) { if (_shop.ShopItems.Length < index) return; var itemName = _shop.ShopItems[index].Name; var itemCount = Convert.ToInt32(_shop.ShopItems[index].Count); var type = AssemblyHandler.FindTypeByName(itemName); var item = Activator.CreateInstance(type, args: new object[] { itemCount }); if (item is Server.Item _item) { m.AddToBackpack(_item); } } public override void OnResponse(NetState sender, RelayInfo info) { var from = sender.Mobile; switch (info.ButtonID) { case 0: // close sender.RemoveGump(this); break; case 1: SendData(from, "1", _shop); break; case 2: TryToAddItem(from, Convert.ToInt32(info.TextEntries[0].Text)); break; default: break; } } public string body() { return "\r\n" + " \r\n" + " \r\n" + " \r\n\r\n" + "\t\r\n" + " \r\n" + "\r\n" + "
\r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + " \r\n" + "