> [!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.
30 lines
641 B
C#
30 lines
641 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Server.Diagnostics;
|
|
|
|
public class GumpProfile : BaseProfile
|
|
{
|
|
private static readonly Dictionary<Type, GumpProfile> _profiles = new();
|
|
|
|
public GumpProfile(Type type) : base(type.FullName)
|
|
{
|
|
}
|
|
|
|
public static IEnumerable<GumpProfile> Profiles => _profiles.Values;
|
|
|
|
public static GumpProfile Acquire(Type type)
|
|
{
|
|
if (!Core.Profiling)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
if (!_profiles.TryGetValue(type, out var prof))
|
|
{
|
|
_profiles.Add(type, prof = new GumpProfile(type));
|
|
}
|
|
|
|
return prof;
|
|
}
|
|
}
|