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

@ -7,12 +7,12 @@ namespace Server.Guilds
{
public abstract class BaseGuildGump : Gump
{
public override bool Singleton => true;
public BaseGuildGump(PlayerMobile pm, Guild g, int x = 10, int y = 10) : base(x, y)
{
guild = g;
player = pm;
pm.CloseGump<BaseGuildGump>();
}
protected Guild guild { get; }

View file

@ -6,9 +6,10 @@ namespace Server.Guilds
{
public class CreateGuildGump : Gump
{
public override bool Singleton => true;
public CreateGuildGump(PlayerMobile pm, string guildName = "Guild Name", string guildAbbrev = "") : base(10, 10)
{
pm.CloseGump<CreateGuildGump>();
pm.CloseGump<BaseGuildGump>();
AddPage(0);

View file

@ -158,8 +158,7 @@ namespace Server.Guilds
// Guild Faction
if (Guild.OrderChaos && IsLeader(pm, guild))
{
pm.CloseGump<GuildChangeTypeGump>();
pm.SendGump(new GuildChangeTypeGump(pm, guild));
pm.SendGump(new GuildChangeTypeGump(pm, guild), true);
}
break;