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

@ -4,6 +4,7 @@ using System.Runtime.CompilerServices;
using ModernUO.Serialization;
using Server.Collections;
using Server.Engines.Spawners;
using Server.Gumps;
using Server.Items;
using Server.Multis.Boats;
using Server.Network;

View file

@ -2248,7 +2248,6 @@ namespace Server.Multis
}
else
{
to.CloseGump<HouseTransferGump>();
to.SendGump(new HouseTransferGump(from, to, this));
}
}
@ -2281,7 +2280,6 @@ namespace Server.Multis
if (CheckTransferPosition(from, to))
{
to.CloseGump<HouseTransferGump>();
to.SendGump(new HouseTransferGump(from, to, this));
}
}
@ -2401,7 +2399,6 @@ namespace Server.Multis
if (info != null)
{
m.CloseGump<SetSecureLevelGump>();
m.SendGump(new SetSecureLevelGump(m_Owner, info, this));
}
else if (item.Parent != null)
@ -2437,7 +2434,6 @@ namespace Server.Multis
LockDowns.Remove(item);
item.Movable = false;
m.CloseGump<SetSecureLevelGump>();
m.SendGump(new SetSecureLevelGump(m_Owner, info, this));
}
}
@ -4368,7 +4364,6 @@ namespace Server.Multis
if (sec != null)
{
from.CloseGump<SetSecureLevelGump>();
from.SendGump(new SetSecureLevelGump(from, sec, BaseHouse.FindHouseAt(item)));
}
}

View file

@ -41,13 +41,12 @@ public class HousePlacementCategoryGump : Gump
private const int LabelColorDisabled = 0x4210;
private readonly Mobile _from;
public override bool Singleton => true;
public HousePlacementCategoryGump(Mobile from) : base(50, 50)
{
_from = from;
from.CloseGump<HousePlacementCategoryGump>();
from.CloseGump<HousePlacementListGump>();
AddPage(0);
AddBackground(0, 0, 270, 145, 5054);
@ -107,14 +106,13 @@ public class HousePlacementListGump : Gump
private readonly HousePlacementEntry[] _entries;
private readonly Mobile _from;
public override bool Singleton => true;
public HousePlacementListGump(Mobile from, HousePlacementEntry[] entries) : base(50, 50)
{
_from = from;
_entries = entries;
from.CloseGump<HousePlacementCategoryGump>();
from.CloseGump<HousePlacementListGump>();
AddPage(0);
AddBackground(0, 0, 520, 420, 5054);

View file

@ -263,7 +263,6 @@ public partial class HouseSign : Item
}
else
{
from.CloseGump<VendorInventoryGump>();
from.SendGump(new VendorInventoryGump(sign.Owner, from));
}
}