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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -277,7 +277,6 @@ public class BandageContext : Timer
|
|||
{
|
||||
healerNumber = 503255; // You are able to resurrect the creature.
|
||||
|
||||
master.CloseGump<PetResurrectGump>();
|
||||
master.SendGump(new PetResurrectGump(Healer, petPatient));
|
||||
}
|
||||
else
|
||||
|
|
@ -294,7 +293,6 @@ public class BandageContext : Timer
|
|||
{
|
||||
healerNumber = 503255; // You are able to resurrect the creature.
|
||||
|
||||
friend.CloseGump<PetResurrectGump>();
|
||||
friend.SendGump(new PetResurrectGump(Healer, petPatient));
|
||||
|
||||
found = true;
|
||||
|
|
@ -310,7 +308,6 @@ public class BandageContext : Timer
|
|||
}
|
||||
else
|
||||
{
|
||||
Patient.CloseGump<ResurrectGump>();
|
||||
Patient.SendGump(new ResurrectGump(Healer));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Gumps;
|
||||
using Server.HuePickers;
|
||||
using Server.Targeting;
|
||||
|
||||
|
|
|
|||
|
|
@ -102,14 +102,14 @@ public class DisguiseGump : Gump
|
|||
private readonly DisguiseKit m_Kit;
|
||||
private readonly bool m_Used;
|
||||
|
||||
public override bool Singleton => true;
|
||||
|
||||
public DisguiseGump(Mobile from, DisguiseKit kit, bool startAtHair, bool used) : base(50, 50)
|
||||
{
|
||||
m_From = from;
|
||||
m_Kit = kit;
|
||||
m_Used = used;
|
||||
|
||||
from.CloseGump<DisguiseGump>();
|
||||
|
||||
AddPage(0);
|
||||
|
||||
AddBackground(100, 10, 400, 385, 2600);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Engines.Craft;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
|
||||
namespace Server.Items;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue