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:
parent
40d99f6d1c
commit
8282b00ca2
246 changed files with 1722 additions and 1383 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -170,25 +170,7 @@ public partial class Runebook : Item, ISecurable, ICraftable
|
|||
from.SendLocalizedMessage(502421); // You have removed the rune.
|
||||
}
|
||||
|
||||
public bool IsOpen(Mobile toCheck)
|
||||
{
|
||||
var ns = toCheck.NetState;
|
||||
|
||||
if (ns == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach (var gump in ns.Gumps)
|
||||
{
|
||||
if ((gump as RunebookGump)?.Book == this)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
public bool IsOpen(Mobile toCheck) => toCheck.FindGump<RunebookGump>()?.Book == this;
|
||||
|
||||
public override void GetProperties(IPropertyList list)
|
||||
{
|
||||
|
|
@ -268,9 +250,7 @@ public partial class Runebook : Item, ISecurable, ICraftable
|
|||
|
||||
public void SendGumpTo(Mobile from)
|
||||
{
|
||||
from.CloseGump<RunebookGump>();
|
||||
from.SendGump(new RunebookGump(this));
|
||||
|
||||
from.SendGump(new RunebookGump(this), true);
|
||||
Openers.Add(from);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue