using System.Collections; using Server.Gumps; using Server.Network; namespace Server.Engines.ConPVP { public class RulesetGump : Gump { private DuelContext m_DuelContext; private Mobile m_From; private RulesetLayout m_Page; private bool m_ReadOnly; private Ruleset m_Ruleset; public RulesetGump(Mobile from, Ruleset ruleset, RulesetLayout page, DuelContext duelContext) : this(from, ruleset, page, duelContext, false) { } public RulesetGump(Mobile from, Ruleset ruleset, RulesetLayout page, DuelContext duelContext, bool readOnly) : base( readOnly ? 310 : 50, 50) { m_From = from; m_Ruleset = ruleset; m_Page = page; m_DuelContext = duelContext; m_ReadOnly = readOnly; Dragable = !readOnly; from.CloseGump(typeof(RulesetGump)); from.CloseGump(typeof(DuelContextGump)); from.CloseGump(typeof(ParticipantGump)); RulesetLayout depthCounter = page; int depth = 0; while (depthCounter != null) { ++depth; depthCounter = depthCounter.Parent; } int count = page.Children.Length + page.Options.Length; AddPage(0); int height = 35 + 10 + 2 + count * 22 + 2 + 30; AddBackground(0, 0, 260, height, 9250); AddBackground(10, 10, 240, height - 20, 0xDAC); AddHtml(35, 25, 190, 20, Center(page.Title), false, false); int x = 35; int y = 47; for (int i = 0; i < page.Children.Length; ++i) { AddGoldenButton(x, y, 1 + i); AddHtml(x + 25, y, 250, 22, page.Children[i].Title, false, false); y += 22; } for (int i = 0; i < page.Options.Length; ++i) { bool enabled = ruleset.Options[page.Offset + i]; if (readOnly) AddImage(x, y, enabled ? 0xD3 : 0xD2); else AddCheck(x, y, 0xD2, 0xD3, enabled, i); AddHtml(x + 25, y, 250, 22, page.Options[i], false, false); y += 22; } } public string Center(string text) { return $"