Ejemplo n.º 1
0
 public static void AppendTo(this GumpLabel g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("text"));
     disp.AppendLayout(g.X);
     disp.AppendLayout(g.Y);
     disp.AppendLayout(g.Hue);
     disp.AppendLayout(strings.Intern(g.Text));
 }
Ejemplo n.º 2
0
 public static void AppendTo(this GumpAlphaRegion g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("checkertrans"));
     disp.AppendLayout(g.X);
     disp.AppendLayout(g.Y);
     disp.AppendLayout(g.Width);
     disp.AppendLayout(g.Height);
 }
Ejemplo n.º 3
0
 public static void AppendTo(this GumpBackground g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("resizepic"));
     disp.AppendLayout(g.X);
     disp.AppendLayout(g.Y);
     disp.AppendLayout(g.GumpID);
     disp.AppendLayout(g.Width);
     disp.AppendLayout(g.Height);
 }
Ejemplo n.º 4
0
 public static void AppendTo(this GumpImageTiled g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("gumppictiled"));
     disp.AppendLayout(g.X);
     disp.AppendLayout(g.Y);
     disp.AppendLayout(g.Width);
     disp.AppendLayout(g.Height);
     disp.AppendLayout(g.GumpID);
 }
Ejemplo n.º 5
0
        public static void AppendTo(this GumpTooltip g, IGumpWriter disp, List <string> strings)
        {
            disp.AppendLayout(Gump.StringToBuffer("tooltip"));
            disp.AppendLayout(g.Number);

            if (!string.IsNullOrEmpty(g.Args))
            {
                disp.AppendLayout(g.Args);
            }
        }
Ejemplo n.º 6
0
 public static void AppendTo(this GumpHtml g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("htmlgump"));
     disp.AppendLayout(g.X);
     disp.AppendLayout(g.Y);
     disp.AppendLayout(g.Width);
     disp.AppendLayout(g.Height);
     disp.AppendLayout(strings.Intern(g.Text));
     disp.AppendLayout(g.Background);
     disp.AppendLayout(g.Scrollbar);
 }
Ejemplo n.º 7
0
 public static void AppendTo(this GumpButton g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("button"));
     disp.AppendLayout(g.X);
     disp.AppendLayout(g.Y);
     disp.AppendLayout(g.NormalID);
     disp.AppendLayout(g.PressedID);
     disp.AppendLayout((int)g.Type);
     disp.AppendLayout(g.Param);
     disp.AppendLayout(g.ButtonID);
 }
 public DisplayGumpFast(Gump g) : base(176)
 {
     this.m_True  = Gump.StringToBuffer(" 1");
     this.m_False = Gump.StringToBuffer(" 0");
     base.EnsureCapacity(1024);
     this.m_Stream.Write(g.Serial);
     this.m_Stream.Write(g.TypeID);
     this.m_Stream.Write(g.X);
     this.m_Stream.Write(g.Y);
     this.m_Stream.Write(((ushort)65535));
 }
Ejemplo n.º 9
0
 public static void AppendTo(this GumpSpriteImage g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("picinpic"));
     disp.AppendLayout(g.X);
     disp.AppendLayout(g.Y);
     disp.AppendLayout(g.GumpID);
     disp.AppendLayout(g.Width);
     disp.AppendLayout(g.Height);
     disp.AppendLayout(g.SX);
     disp.AppendLayout(g.SY);
 }
Ejemplo n.º 10
0
        public static void AppendTo(this GumpRadio g, IGumpWriter disp, List <string> strings)
        {
            disp.AppendLayout(Gump.StringToBuffer("radio"));
            disp.AppendLayout(g.X);
            disp.AppendLayout(g.Y);
            disp.AppendLayout(g.InactiveID);
            disp.AppendLayout(g.ActiveID);
            disp.AppendLayout(g.InitialState);
            disp.AppendLayout(g.SwitchID);

            disp.Switches++;
        }
Ejemplo n.º 11
0
        public static void AppendTo(this GumpHtmlLocalized g, IGumpWriter disp, List <string> strings)
        {
            switch (g.Type)
            {
            case GumpHtmlLocalizedType.Plain:
            {
                disp.AppendLayout(Gump.StringToBuffer("xmfhtmlgump"));

                disp.AppendLayout(g.X);
                disp.AppendLayout(g.Y);
                disp.AppendLayout(g.Width);
                disp.AppendLayout(g.Height);
                disp.AppendLayout(g.Number);
                disp.AppendLayout(g.Background);
                disp.AppendLayout(g.Scrollbar);

                break;
            }

            case GumpHtmlLocalizedType.Color:
            {
                disp.AppendLayout(Gump.StringToBuffer("xmfhtmlgumpcolor"));

                disp.AppendLayout(g.X);
                disp.AppendLayout(g.Y);
                disp.AppendLayout(g.Width);
                disp.AppendLayout(g.Height);
                disp.AppendLayout(g.Number);
                disp.AppendLayout(g.Background);
                disp.AppendLayout(g.Scrollbar);
                disp.AppendLayout(g.Color);

                break;
            }

            case GumpHtmlLocalizedType.Args:
            {
                disp.AppendLayout(Gump.StringToBuffer("xmfhtmltok"));

                disp.AppendLayout(g.X);
                disp.AppendLayout(g.Y);
                disp.AppendLayout(g.Width);
                disp.AppendLayout(g.Height);
                disp.AppendLayout(g.Background);
                disp.AppendLayout(g.Scrollbar);
                disp.AppendLayout(g.Color);
                disp.AppendLayout(g.Number);
                disp.AppendLayout(g.Args);

                break;
            }
            }
        }
Ejemplo n.º 12
0
        public static void AppendTo(this GumpItem g, IGumpWriter disp, List <string> strings)
        {
            disp.AppendLayout(Gump.StringToBuffer(g.Hue == 0 ? "tilepic" : "tilepichue"));
            disp.AppendLayout(g.X);
            disp.AppendLayout(g.Y);
            disp.AppendLayout(g.ItemID);

            if (g.Hue != 0)
            {
                disp.AppendLayout(g.Hue);
            }
        }
Ejemplo n.º 13
0
        public static void AppendTo(this GumpTextEntry g, IGumpWriter disp, List <string> strings)
        {
            disp.AppendLayout(Gump.StringToBuffer("textentry"));
            disp.AppendLayout(g.X);
            disp.AppendLayout(g.Y);
            disp.AppendLayout(g.Width);
            disp.AppendLayout(g.Height);
            disp.AppendLayout(g.Hue);
            disp.AppendLayout(g.EntryID);
            disp.AppendLayout(strings.Intern(g.InitialText));

            disp.TextEntries++;
        }
Ejemplo n.º 14
0
        public static void AppendTo(this GumpImageTileButton g, IGumpWriter disp, List <string> strings)
        {
            disp.AppendLayout(Gump.StringToBuffer("buttontileart"));
            disp.AppendLayout(g.X);
            disp.AppendLayout(g.Y);
            disp.AppendLayout(g.NormalID);
            disp.AppendLayout(g.PressedID);
            disp.AppendLayout((int)g.Type);
            disp.AppendLayout(g.Param);
            disp.AppendLayout(g.ButtonID);

            disp.AppendLayout(g.ItemID);
            disp.AppendLayout(g.Hue);
            disp.AppendLayout(g.Width);
            disp.AppendLayout(g.Height);
        }
Ejemplo n.º 15
0
        public static void AppendTo(this GumpImage g, IGumpWriter disp, List <string> strings)
        {
            disp.AppendLayout(Gump.StringToBuffer("gumppic"));
            disp.AppendLayout(g.X);
            disp.AppendLayout(g.Y);
            disp.AppendLayout(g.GumpID);

            if (g.Hue != 0)
            {
                disp.AppendLayoutNS(" hue=");
                disp.AppendLayoutNS(g.Hue);
            }

            if (!string.IsNullOrEmpty(g.Class))
            {
                disp.AppendLayoutNS(" class=");
                disp.AppendLayout(Gump.StringToBuffer(g.Class));
            }
        }
Ejemplo n.º 16
0
 public static void AppendTo(this GumpItemProperty g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("itemproperty"));
     disp.AppendLayout(g.Serial);
 }
Ejemplo n.º 17
0
        public DesktopGumpEntry(DesktopGump dt, Gump gump, bool focus)
        {
            Desktop = dt;

            _TypeID  = gump.TypeID;
            _Handler = gump.OnResponse;

            if (focus)
            {
                ButtonMap = new Dictionary <int, int>();
                SwitchMap = new Dictionary <int, int>();
                TextMap   = new Dictionary <int, int>();
            }

            var entries = gump.Entries.Not(e => e is GumpModal).ToList();

            var esc = false;

            foreach (var e in entries)
            {
                bool pos;
                int  x, y;

                if (e.TryGetPosition(out x, out y))
                {
                    pos = true;
                    e.TrySetPosition(gump.X + x, gump.Y + y);
                }
                else
                {
                    pos = false;
                }

                e.Parent = Desktop;

                try
                {
                    if (e is GumpButton)
                    {
                        var b = (GumpButton)e;

                        if (focus && b.Type == GumpButtonType.Reply)
                        {
                            ButtonMap[Desktop.NewButtonID()] = b.ButtonID;

                            b.ButtonID = ButtonMap.GetKey(b.ButtonID);
                            _Compiled += b.Compile();
                            b.ButtonID = ButtonMap[b.ButtonID];
                        }
                        else
                        {
                            _Compiled += new GumpImage(b.X, b.Y, b.NormalID)
                            {
                                Parent = Desktop
                            }.Compile();
                        }
                    }
                    else if (e is GumpImageTileButton)
                    {
                        var b = (GumpImageTileButton)e;

                        if (focus && b.Type == GumpButtonType.Reply)
                        {
                            ButtonMap[Desktop.NewButtonID()] = b.ButtonID;

                            b.ButtonID = ButtonMap.GetKey(b.ButtonID);
                            _Compiled += b.Compile();
                            b.ButtonID = ButtonMap[b.ButtonID];
                        }
                        else
                        {
                            _Compiled += new GumpImage(b.X, b.Y, b.NormalID)
                            {
                                Parent = Desktop
                            }.Compile();
                        }
                    }
                    else if (e is GumpCheck)
                    {
                        var c = (GumpCheck)e;

                        if (focus)
                        {
                            SwitchMap[Desktop.NewSwitchID()] = c.SwitchID;

                            c.SwitchID = SwitchMap.GetKey(c.SwitchID);
                            _Compiled += c.Compile();
                            c.SwitchID = SwitchMap[c.SwitchID];
                        }
                        else
                        {
                            _Compiled += new GumpImage(c.X, c.Y, c.InitialState ? c.ActiveID : c.InactiveID)
                            {
                                Parent = Desktop
                            }.Compile();
                        }
                    }
                    else if (e is GumpRadio)
                    {
                        var r = (GumpRadio)e;

                        if (focus)
                        {
                            SwitchMap[Desktop.NewSwitchID()] = r.SwitchID;

                            r.SwitchID = SwitchMap.GetKey(r.SwitchID);
                            _Compiled += r.Compile();
                            r.SwitchID = SwitchMap[r.SwitchID];
                        }
                        else
                        {
                            _Compiled += new GumpImage(r.X, r.Y, r.InitialState ? r.ActiveID : r.InactiveID)
                            {
                                Parent = Desktop
                            }.Compile();
                        }
                    }
                    else if (e is GumpTextEntry)
                    {
                        var t = (GumpTextEntry)e;

                        if (focus)
                        {
                            TextMap[Desktop.NewTextEntryID()] = t.EntryID;

                            t.EntryID  = TextMap.GetKey(t.EntryID);
                            _Compiled += t.Compile();
                            t.EntryID  = TextMap[t.EntryID];
                        }
                        else
                        {
                            _Compiled += new GumpLabelCropped(t.X, t.Y, t.Width, t.Height, t.Hue, t.InitialText)
                            {
                                Parent = Desktop
                            }.Compile();
                        }
                    }
                    else if (e is GumpTextEntryLimited)
                    {
                        var t = (GumpTextEntryLimited)e;

                        if (focus)
                        {
                            TextMap[Desktop.NewTextEntryID()] = t.EntryID;

                            t.EntryID  = TextMap.GetKey(t.EntryID);
                            t.Parent   = Desktop;
                            _Compiled += t.Compile();
                            t.EntryID  = TextMap[t.EntryID];
                        }
                        else
                        {
                            _Compiled += new GumpLabelCropped(t.X, t.Y, t.Width, t.Height, t.Hue, t.InitialText)
                            {
                                Parent = Desktop
                            }.Compile();
                        }
                    }
                    else if (e is GumpPage)
                    {
                        var p = (GumpPage)e;

                        if (p.Page > 0)
                        {
                            esc = true;
                        }
                    }
                    else
                    {
                        _Compiled += e.Compile();
                    }
                }
                catch
                { }

                e.Parent = gump;

                if (pos)
                {
                    e.TrySetPosition(x, y);
                }

                if (esc)
                {
                    break;
                }
            }

            entries.Free(true);

            if (String.IsNullOrWhiteSpace(_Compiled))
            {
                _Compiled = "{{ gumptooltip -1 }}";
            }

            _Buffer = Gump.StringToBuffer(_Compiled);
        }
Ejemplo n.º 18
0
        internal void AppendTo(Gump.IGumpWriter disp)
        {
            switch (Type)
            {
            case ElementType.textentrylimited:
            {
                disp.AppendLayout(Gump.StringToBuffer("textentrylimited"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(myHue);
                disp.AppendLayout(myElementID);
                disp.AppendLayout(ParentGump.Intern(myText));
                disp.AppendLayout(mySize);
                disp.TextEntries++;
                break;
            }

            case ElementType.textentry:
            {
                disp.AppendLayout(Gump.StringToBuffer("textentry"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(myHue);
                disp.AppendLayout(myElementID);
                disp.AppendLayout(ParentGump.Intern(myText));
                disp.TextEntries++;
                break;
            }

            case ElementType.radio:
            {
                disp.AppendLayout(Gump.StringToBuffer("radio"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myInactiveID);
                disp.AppendLayout(myActiveID);
                disp.AppendLayout(myInitialState);
                disp.AppendLayout(myElementID);
                disp.Switches++;
                break;
            }

            case ElementType.croppedtext:
            {
                disp.AppendLayout(Gump.StringToBuffer("croppedtext"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(myHue);
                disp.AppendLayout(ParentGump.Intern(myText));
                break;
            }

            case ElementType.buttontileart:
            {
                disp.AppendLayout(Gump.StringToBuffer("buttontileart"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myInactiveID);
                disp.AppendLayout(myActiveID);
                disp.AppendLayout(myButtonType);
                disp.AppendLayout(myParam);
                disp.AppendLayout(myElementID);
                disp.AppendLayout(myItemID);
                disp.AppendLayout(myHue);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);

                if (myCliloc != -1)
                {
                    disp.AppendLayout(Gump.StringToBuffer(" }{ tooltip"));
                    disp.AppendLayout(myCliloc);
                }
                break;
            }

            case ElementType.tilepic:
            case ElementType.tilepichue:
            {
                disp.AppendLayout(Gump.StringToBuffer(myHue == 0 ? "tilepic" : "tilepichue"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myItemID);

                if (myHue != 0)
                {
                    disp.AppendLayout(myHue);
                }
                break;
            }

            case ElementType.itemproperty:
            {
                disp.AppendLayout(Gump.StringToBuffer("itemproperty"));
                disp.AppendLayout(mySerial);
                break;
            }

            case ElementType.gumppictiled:
            {
                disp.AppendLayout(Gump.StringToBuffer("gumppictiled"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(myElementID);
                break;
            }

            case ElementType.gumppic:
            {
                disp.AppendLayout(Gump.StringToBuffer("gumppic"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myElementID);

                if (myHue != 0)
                {
                    disp.AppendLayout(Gump.StringToBuffer(" hue="));
                    disp.AppendLayoutNS(myHue);
                }
                break;
            }

            case ElementType.xmfhtmlgump:
            {
                disp.AppendLayout(Gump.StringToBuffer("xmfhtmlgump"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(myCliloc);
                disp.AppendLayout(myBackground);
                disp.AppendLayout(myScrollBar);
                break;
            }

            case ElementType.xmfhtmlgumpcolor:
            {
                disp.AppendLayout(Gump.StringToBuffer("xmfhtmlgumpcolor"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(myCliloc);
                disp.AppendLayout(myBackground);
                disp.AppendLayout(myScrollBar);
                disp.AppendLayout(myHue);
                break;
            }

            case ElementType.xmfhtmltok:
            {
                disp.AppendLayout(Gump.StringToBuffer("xmfhtmltok"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(myBackground);
                disp.AppendLayout(myScrollBar);
                disp.AppendLayout(myHue);
                disp.AppendLayout(myCliloc);
                disp.AppendLayout(myArgs);
                break;
            }

            case ElementType.htmlgump:
            {
                disp.AppendLayout(Gump.StringToBuffer("htmlgump"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                disp.AppendLayout(ParentGump.Intern(myText));
                disp.AppendLayout(myBackground);
                disp.AppendLayout(myScrollBar);
                break;
            }

            case ElementType.tooltip:
            {
                disp.AppendLayout(Gump.StringToBuffer("tooltip"));
                disp.AppendLayout(myCliloc);
                break;
            }

            case ElementType.group:
            {
                disp.AppendLayout(Gump.StringToBuffer("group"));
                disp.AppendLayout(myGroup);
                break;
            }

            case ElementType.resizepic:
            {
                disp.AppendLayout(Gump.StringToBuffer("resizepic"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myElementID);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                break;
            }

            case ElementType.checkertrans:
            {
                disp.AppendLayout(Gump.StringToBuffer("checkertrans"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myWidth);
                disp.AppendLayout(myHeight);
                break;
            }

            case ElementType.page:
            {
                disp.AppendLayout(Gump.StringToBuffer("page"));
                disp.AppendLayout(myPageNumber);
                break;
            }

            case ElementType.button:
            {
                disp.AppendLayout(Gump.StringToBuffer("button"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myInactiveID);
                disp.AppendLayout(myActiveID);
                disp.AppendLayout(myButtonType);
                disp.AppendLayout(myParam);
                disp.AppendLayout(myElementID);
                break;
            }

            case ElementType.text:
            {
                disp.AppendLayout(Gump.StringToBuffer("text"));
                disp.AppendLayout(myX);
                disp.AppendLayout(myY);
                disp.AppendLayout(myHue);
                disp.AppendLayout(ParentGump.Intern(myText));
                break;
            }

            default:
                break;
            }
        }
Ejemplo n.º 19
0
 public static void AppendTo(this GumpGroup g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("group"));
     disp.AppendLayout(g.Group);
 }
Ejemplo n.º 20
0
 public static void AppendTo(this GumpPage g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("page"));
     disp.AppendLayout(g.Page);
 }
Ejemplo n.º 21
0
 public static void AppendTo(this GumpMasterGump g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("mastergump"));
     disp.AppendLayout(g.GumpID);
 }
Ejemplo n.º 22
0
 public static void AppendTo(this GumpECHandleInput g, IGumpWriter disp, List <string> strings)
 {
     disp.AppendLayout(Gump.StringToBuffer("echandleinput"));
 }