feat: Moves gumps out of the core (#1916)

> [!Important]
> **Developer Note**
> This code change will **completely move gumps out of the core**


### Summary

- Adds `GetGumps()` convenience which exposes methods to Find/Close/Send multiple gumps. This helper is a performance improvement by eliminating the Dictionary<Player, List> lookup for gumps.
This commit is contained in:
Kamron Batman 2024-08-09 19:07:32 -07:00 • committed by GitHub
parent 40d99f6d1c
commit 8282b00ca2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
246 changed files with 1722 additions and 1383 deletions

View file

@ -290,18 +290,20 @@ public static class HelpInfo
public override void OnResponse(NetState sender, in RelayInfo info)
{
var m = sender.Mobile;
var gumps = m.GetGumps();
switch (info.ButtonID)
{
case 0:
{
m.CloseGump<CommandInfoGump>();
gumps.Close<CommandInfoGump>();
break;
}
case 1:
{
if (_page > 0)
{
m.SendGump(new CommandListGump(_page - 1, m, _list));
gumps.Send(new CommandListGump(_page - 1, m, _list));
}
break;
@ -310,7 +312,7 @@ public static class HelpInfo
{
if ((_page + 1) * EntriesPerPage < SortedHelpInfo.Count)
{
m.SendGump(new CommandListGump(_page + 1, m, _list));
gumps.Send(new CommandListGump(_page + 1, m, _list));
}
break;
@ -325,13 +327,13 @@ public static class HelpInfo
if (m.AccessLevel >= c.AccessLevel)
{
m.SendGump(new CommandInfoGump(c));
m.SendGump(new CommandListGump(_page, m, _list));
gumps.Send(new CommandInfoGump(c));
gumps.Send(new CommandListGump(_page, m, _list));
}
else
{
m.SendMessage("You no longer have access to that command.");
m.SendGump(new CommandListGump(_page, m, null));
gumps.Send(new CommandListGump(_page, m, null));
}
}