Files
MiraAPI/MiraAPI/Hud/CustomButtonManager.cs
T
2024-08-20 16:35:35 -04:00

24 lines
698 B
C#

using System;
using System.Collections.Generic;
using System.Reflection;
namespace MiraAPI.Hud;
public static class CustomButtonManager
{
public static readonly List<CustomActionButton> CustomButtons = [];
internal static void RegisterButton(Type buttonType)
{
if (!typeof(CustomActionButton).IsAssignableFrom(buttonType))
{
return;
}
var button = (CustomActionButton)Activator.CreateInstance(buttonType);
CustomButtons.Add(button);
typeof(CustomButtonSingleton<>).MakeGenericType(buttonType)
.GetField("_instance", BindingFlags.Static | BindingFlags.NonPublic)!
.SetValue(null, button);
}
}