private static void SecureTrade_Open(int serial, PacketReader pvSrc) { string str; string str2; int num = pvSrc.ReadInt32(); int num2 = pvSrc.ReadInt32(); bool flag = pvSrc.ReadBoolean(); Mobile player = World.Player; Mobile mobile2 = World.FindMobile(serial); if (((player == null) || ((str = player.Name) == null)) || ((str = str.Trim()).Length <= 0)) { str = "Me"; } if (flag) { str2 = pvSrc.ReadString(); } else if (((mobile2 == null) || ((str2 = mobile2.Name) == null)) || ((str2 = str2.Trim()).Length <= 0)) { str2 = "Them"; } GSecureTrade toAdd = new GSecureTrade(num, null, str, str2); IFont uniFont = Engine.GetUniFont(1); IHue hue = Hues.Load(1); IHue hue2 = Hues.Load(0); Item item = World.WantItem(num); GSecureTradeCheck partner = new GSecureTradeCheck(250, 2, null, null); GSecureTradeCheck check2 = new GSecureTradeCheck(2, 2, item, partner); toAdd.Children.Add(check2); toAdd.Children.Add(partner); IContainer container = new GContainer(item, 0x52, hue2); toAdd.m_Container = container.Gump; container.Gump.X = 13; container.Gump.Y = 0x21; ((GContainer) container).m_TradeContainer = true; container.Gump.SetTag("Check1", check2); container.Gump.SetTag("Check2", partner); toAdd.Children.Add(container.Gump); item.Container = container; Item item2 = World.WantItem(num2); IContainer container2 = new GContainer(item2, 0x52, hue2) { Gump = { X = 0x8e, Y = 0x21 } }; container2.Gump.SetTag("Check1", check2); container2.Gump.SetTag("Check2", partner); ((GContainer) container2).m_HitTest = false; ((GContainer) container2).m_TradeContainer = true; toAdd.Children.Add(container2.Gump); item2.Container = container2; if (Engine.Features.AOS) { toAdd.Tooltip = new ItemTooltip(item2); } Gumps.Desktop.Children.Add(toAdd); }
private static void Container_Open(PacketReader pvSrc) { int serial = pvSrc.ReadInt32(); int gumpID = pvSrc.ReadInt16(); int num3 = 0; if (gumpID == 0x30) { num3 = serial; serial = m_BuyMenuSerial; } Item item = World.WantItem(serial); int num4 = 10 + ((Engine.m_OpenedGumps++ % 20) * 10); if (item.Container != null) { item.Container.Close(); } switch (gumpID) { case -1: item.QueueOpenSB = true; break; case 8: { Mobile mobile = World.FindMobile(serial); mobile.BigStatus = true; mobile.OpenStatus(false); break; } case 0x30: if ((m_BuyMenuPrices != null) && (m_BuyMenuNames != null)) { ArrayList items = item.Items; int count = items.Count; if (count > m_BuyMenuPrices.Length) { count = m_BuyMenuPrices.Length; } if (count > m_BuyMenuNames.Length) { count = m_BuyMenuNames.Length; } BuyInfo[] infoArray = new BuyInfo[count]; BuyInfo info = null; for (int i = 0; i < count; i++) { infoArray[i] = new BuyInfo((Item) items[i], m_BuyMenuPrices[i], m_BuyMenuNames[i]); if (((infoArray[i].ItemID == 0x2124) && (Engine.m_BuyHorse != null)) && (Engine.m_BuyHorse.Serial == num3)) { info = infoArray[i]; info.dToBuy = 1.0; info.ToBuy = 1; Engine.m_BuyHorse = null; } } if (info == null) { Gumps.Desktop.Children.Add(new GBuyGump(num3, infoArray)); } else { Engine.AddTextMessage("Purchasing items."); Network.Send(new PBuyItems(num3, infoArray)); } m_BuyMenuPrices = null; m_BuyMenuNames = null; } break; default: IContainer container; Engine.Sounds.PlayContainerOpen(gumpID); if (((gumpID == 9) && (item.LastTextHue != null)) && ((item.LastTextHue.HueID() & 0x7fff) == 0x59)) { container = new GContainer(item, gumpID, Hues.GetNotoriety(Notoriety.Innocent)); } else { container = new GContainer(item, gumpID); } Gumps.Desktop.Children.Add(container.Gump); item.Container = container; break; } }