public override void OnResponse(NetState sender, RelayInfo info) { Mobile m = sender.Mobile; switch (info.ButtonID) { case 0: { m.CloseGump(typeof(CommandInfoGump)); break; } case 1: { if (m_Page > 0) { m.SendGump(new CommandListGump(m_Page - 1, m, m_List)); } break; } case 2: { if ((m_Page + 1) * EntriesPerPage < m_SortedHelpInfo.Count) { m.SendGump(new CommandListGump(m_Page + 1, m, m_List)); } break; } default: { int v = info.ButtonID - 3; if (v >= 0 && v < m_List.Count) { CommandInfo c = m_List[v]; if (m.AccessLevel >= c.AccessLevel) { m.SendGump(new CommandInfoGump(c)); m.SendGump(new CommandListGump(m_Page, m, m_List)); } else { m.SendMessage("You no longer have access to that command."); m.SendGump(new CommandListGump(m_Page, m, null)); } } break; } } }
public CommandInfoGump(CommandInfo info, int width, int height) : base(300, 50) { AddPage(0); AddBackground(0, 0, width, height, 5054); //AddImageTiled( 10, 10, width - 20, 20, 2624 ); //AddAlphaRegion( 10, 10, width - 20, 20 ); //AddHtmlLocalized( 10, 10, width - 20, 20, header, headerColor, false, false ); AddHtml(10, 10, width - 20, 20, Color(Center(info.Name), 0xFF0000), false, false); //AddImageTiled( 10, 40, width - 20, height - 80, 2624 ); //AddAlphaRegion( 10, 40, width - 20, height - 80 ); StringBuilder sb = new StringBuilder(); sb.Append("Usage: "); sb.Append(info.Usage.Replace("<", "(").Replace(">", ")")); sb.Append("<BR>"); string[] aliases = info.Aliases; if (aliases != null && aliases.Length != 0) { sb.Append(String.Format("Alias{0}: ", aliases.Length == 1 ? "" : "es")); for (int i = 0; i < aliases.Length; ++i) { if (i != 0) { sb.Append(", "); } sb.Append(aliases[i]); } sb.Append("<BR>"); } sb.Append("AccessLevel: "); sb.Append(info.AccessLevel.ToString()); sb.Append("<BR>"); sb.Append("<BR>"); sb.Append(info.Description); AddHtml(10, 40, width - 20, height - 80, sb.ToString(), false, true); //AddImageTiled( 10, height - 30, width - 20, 20, 2624 ); //AddAlphaRegion( 10, height - 30, width - 20, 20 ); }
public CommandInfoGump(CommandInfo info) : this(info, 320, 200) { }
public CommandListGump(int page, Mobile from, List <CommandInfo> list) : base(30, 30) { m_Page = page; if (list == null) { m_List = new List <CommandInfo>(); foreach (CommandInfo c in m_SortedHelpInfo) { if (from.AccessLevel >= c.AccessLevel) { m_List.Add(c); } } } else { m_List = list; } AddNewPage(); if (m_Page > 0) { AddEntryButton(20, ArrowLeftID1, ArrowLeftID2, 1, ArrowLeftWidth, ArrowLeftHeight); } else { AddEntryHeader(20); } AddEntryHtml(160, Center(String.Format("Page {0} of {1}", m_Page + 1, (m_List.Count + EntriesPerPage - 1) / EntriesPerPage))); if ((m_Page + 1) * EntriesPerPage < m_List.Count) { AddEntryButton(20, ArrowRightID1, ArrowRightID2, 2, ArrowRightWidth, ArrowRightHeight); } else { AddEntryHeader(20); } int last = (int)AccessLevel.Player - 1; for (int i = m_Page * EntriesPerPage, line = 0; line < EntriesPerPage && i < m_List.Count; ++i, ++line) { CommandInfo c = m_List[i]; if (from.AccessLevel >= c.AccessLevel) { if ((int)c.AccessLevel != last) { AddNewLine(); AddEntryHtml(20 + OffsetSize + 160, Color(c.AccessLevel.ToString(), 0xFF0000)); AddEntryHeader(20); line++; } last = (int)c.AccessLevel; AddNewLine(); AddEntryHtml(20 + OffsetSize + 160, c.Name); AddEntryButton(20, ArrowRightID1, ArrowRightID2, 3 + i, ArrowRightWidth, ArrowRightHeight); } } FinishPage(); }