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

@ -24,6 +24,8 @@ public class CraftGump : DynamicGump
private readonly BaseTool _tool;
private readonly TextDefinition _notice;
public override bool Singleton => true;
public CraftGump(
Mobile from, CraftSystem craftSystem, BaseTool tool, TextDefinition notice, CraftPage page = CraftPage.None
) : base(40, 40)
@ -419,7 +421,6 @@ public class CraftGump : DynamicGump
public override void SendTo(NetState ns)
{
_from.CloseGump<CraftGump>();
_from.CloseGump<CraftGumpItem>();
base.SendTo(ns);

View file

@ -27,6 +27,8 @@ namespace Server.Engines.Craft
private bool m_ShowExceptionalChance;
public override bool Singleton => true;
public CraftGumpItem(Mobile from, CraftSystem craftSystem, CraftItem craftItem, BaseTool tool) : base(40, 40)
{
m_From = from;
@ -34,9 +36,6 @@ namespace Server.Engines.Craft
m_CraftItem = craftItem;
m_Tool = tool;
from.CloseGump<CraftGump>();
from.CloseGump<CraftGumpItem>();
AddPage(0);
AddBackground(0, 0, 530, 417, 5054);
AddImageTiled(10, 10, 510, 22, 2624);

View file

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using Server.Commands;
using Server.Factions;
using Server.Gumps;
using Server.Items;
using Server.Logging;
using Server.Mobiles;

View file

@ -1,4 +1,5 @@
using System;
using Server.Gumps;
using Server.Items;
using Server.Targeting;

View file

@ -14,13 +14,13 @@ namespace Server.Engines.Craft
private readonly BaseTool m_Tool;
private readonly Type m_TypeRes;
public override bool Singleton => true;
public QueryMakersMarkGump(
int quality, Mobile from, CraftItem craftItem, CraftSystem craftSystem, Type typeRes,
BaseTool tool
) : base(100, 200)
{
from.CloseGump<QueryMakersMarkGump>();
m_Quality = quality;
m_From = from;
m_CraftItem = craftItem;

View file

@ -1,4 +1,5 @@
using System;
using Server.Gumps;
using Server.Items;
using Server.Mobiles;
using Server.Targeting;

View file

@ -1,4 +1,5 @@
using Server.Ethics;
using Server.Gumps;
using Server.Items;
using Server.Targeting;

View file

@ -1,5 +1,6 @@
using System;
using Server.Factions;
using Server.Gumps;
using Server.Items;
using Server.Targeting;