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); } }); }