using Dalamud.Plugin; using Glamourer.Api.Api; using Glamourer.Api.Helpers; namespace Glamourer.Api.IpcSubscribers; /// public sealed class ApiVersion(IDalamudPluginInterface pi) : FuncSubscriber<(int, int)>(pi, Label) { /// The label. public const string Label = $"Glamourer.{nameof(ApiVersion)}.V2"; /// public new (int Major, int Minor) Invoke() => base.Invoke(); /// Create a provider. public static FuncProvider<(int, int)> Provider(IDalamudPluginInterface pi, IGlamourerApiBase api) => new(pi, Label, () => api.ApiVersion); } /// Triggered when the Glamourer API is initialized and ready. public static class Initialized { /// The label. public const string Label = $"Glamourer.{nameof(Initialized)}"; /// Create a new event subscriber. public static EventSubscriber Subscriber(IDalamudPluginInterface pi, params Action[] actions) => new(pi, Label, actions); /// Create a provider. public static EventProvider Provider(IDalamudPluginInterface pi) => new(pi, Label); } /// Triggered when the Glamourer API is fully disposed and unavailable. public static class Disposed { /// The label. public const string Label = $"Glamourer.{nameof(Disposed)}"; /// Create a new event subscriber. public static EventSubscriber Subscriber(IDalamudPluginInterface pi, params Action[] actions) => new(pi, Label, actions); /// Create a provider. public static EventProvider Provider(IDalamudPluginInterface pi) => new(pi, Label); }