Ejemplo n.º 1
0
        public ContextMenuGump(ContextMenuData data)
            : base(0, 0)
        {
            m_Data = data;

            IResourceProvider provider = ServiceRegistry.GetService<IResourceProvider>();
            AFont font = (AFont)provider.GetUnicodeFont(1);

            m_Background = (ResizePic)AddControl(new ResizePic(this, 0, 0, 0x0A3C, 50, font.Height * m_Data.Count + 20));

            StringBuilder htmlContextItems = new StringBuilder();
            for (int i = 0; i < m_Data.Count; i++)
            {
                htmlContextItems.Append(string.Format("<a href='{0}' color='#DDD' hovercolor='#FFF' activecolor='#BBB' style='text-decoration:none;'>{1}</a><br/>", m_Data[i].ResponseCode, m_Data[i].Caption));
            }
            m_MenuItems = (HtmlGumpling)AddControl(new HtmlGumpling(this, 10, 10, 200, font.Height * m_Data.Count, 0, 0, htmlContextItems.ToString()));
        }
Ejemplo n.º 2
0
 public ContextMenuInfo(PacketReader reader)
 {
     reader.ReadByte(); // unknown, always 0x00
     int subcommand = reader.ReadByte(); // 0x01 for 2D, 0x02 for KR
     Menu = new ContextMenuData(reader.ReadInt32());
     int contextMenuChoiceCount = reader.ReadByte();
     for (int i = 0; i < contextMenuChoiceCount; i++) {
         int iUniqueID = reader.ReadUInt16();
         int iClilocID = reader.ReadUInt16() + 3000000;
         int iFlags = reader.ReadUInt16(); // 0x00=enabled, 0x01=disabled, 0x02=arrow, 0x20 = color
         int iColor = 0;
         if ((iFlags & 0x20) == 0x20) {
             iColor = reader.ReadUInt16();
         }
         Menu.AddItem(iUniqueID, iClilocID, iFlags, iColor);
     }
 }