示例#1
0
        protected virtual void CompileCategory(SuperGumpLayout layout, int x, int y, int idx, RuneCodexCategory cat)
        {
            if (x >= Codex.Categories.Width || y >= Codex.Categories.Height)
            {
                return;
            }

            layout.Add(
                "cat/" + idx,
                () =>
            {
                var ui = UI;

                int xOffset = 220 + (x * 70);
                int yOffset = 50 + (y * 70);
                int gx      = x + ui.CategoryScroll.X;
                int gy      = y + ui.CategoryScroll.Y;

                const int itemID = 8901;
                bool s           = cat != null && ui.Category == cat;

                if (cat != null)
                {
                    AddButton(xOffset + 5, yOffset + 5, 24024, 24024, b => SelectCategory(gx, gy, idx, cat));
                }
                else if (Codex.CanAddCategories(User))
                {
                    AddButton(xOffset + 5, yOffset + 5, 24024, 24024, b => AddCategory(gx, gy, idx));
                }

                AddImageTiled(xOffset, yOffset, 60, 60, 2702);

                if (s)
                {
                    AddItem(xOffset + 10, yOffset + 4, itemID, 2050);
                    AddItem(xOffset + 10, yOffset + 2, itemID, 1);
                }

                if (cat != null)
                {
                    AddItem(xOffset + 10, yOffset, itemID, cat.Hue);
                    AddHtml(
                        xOffset,
                        yOffset + 25,
                        60,
                        40,
                        GetCategoryLabel(cat).WrapUOHtmlTag("center").WrapUOHtmlColor(Color.LawnGreen, false),
                        false,
                        false);
                }
                else if (Codex.CanAddCategories(User))
                {
                    AddImage(xOffset + 25, yOffset, 2511, HighlightHue);
                    AddHtml(
                        xOffset, yOffset + 25, 60, 40, "Add".WrapUOHtmlTag("center").WrapUOHtmlColor(Color.Yellow, false), false, false);
                }
            });
        }