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

@ -157,7 +157,6 @@ public partial class Moongate : Item
from.SendSound(0x20E, from);
}
from.CloseGump<MoongateConfirmGump>();
from.SendGump(new MoongateConfirmGump(from, this));
}
else
@ -265,7 +264,6 @@ public partial class ConfirmationMoongate : Moongate
{
if (GumpWidth > 0 && GumpHeight > 0 && TitleNumber > 0 && Message?.IsEmpty == false)
{
from.CloseGump<WarningGump>();
from.SendGump(
new WarningGump(
TitleNumber,
@ -275,7 +273,8 @@ public partial class ConfirmationMoongate : Moongate
GumpWidth,
GumpHeight,
okay => Warning_Callback(from, okay)
)
),
true
);
}
else
@ -307,6 +306,8 @@ public class MoongateConfirmGump : Gump
private Mobile _from;
private Moongate _gate;
public override bool Singleton => true;
public MoongateConfirmGump(Mobile from, Moongate gate) : base(Core.AOS ? 110 : 20, Core.AOS ? 100 : 30)
{
_from = from;