using Dalamud.Plugin; using Glamourer.Api.Api; using Glamourer.Api.Enums; using Glamourer.Api.Helpers; namespace Glamourer.Api.IpcSubscribers; /// public sealed class SetItem(IDalamudPluginInterface pi) : FuncSubscriber, uint, ulong, int>(pi, Label) { /// The label. public const string Label = $"Glamourer.{nameof(SetItem)}.V3"; /// public GlamourerApiEc Invoke(int objectIndex, ApiEquipSlot slot, ulong itemId, IReadOnlyList stain, uint key = 0, ApplyFlag flags = ApplyFlag.Once) => (GlamourerApiEc)Invoke(objectIndex, (byte)slot, itemId, stain, key, (ulong)flags); /// Create a provider. public static FuncProvider, uint, ulong, int> Provider(IDalamudPluginInterface pi, IGlamourerApiItems api) => new(pi, Label, (a, b, c, d, e, f) => (int)api.SetItem(a, (ApiEquipSlot)b, c, d, e, (ApplyFlag)f)); } /// public sealed class SetItemName(IDalamudPluginInterface pi) : FuncSubscriber, uint, ulong, int>(pi, Label) { /// The label. public const string Label = $"Glamourer.{nameof(SetItemName)}.V2"; /// public GlamourerApiEc Invoke(string objectName, ApiEquipSlot slot, ulong itemId, IReadOnlyList stain, uint key = 0, ApplyFlag flags = ApplyFlag.Once) => (GlamourerApiEc)Invoke(objectName, (byte)slot, itemId, stain, key, (ulong)flags); /// Create a provider. public static FuncProvider, uint, ulong, int> Provider(IDalamudPluginInterface pi, IGlamourerApiItems api) => new(pi, Label, (a, b, c, d, e, f) => (int)api.SetItemName(a, (ApiEquipSlot)b, c, d, e, (ApplyFlag)f)); } /// public sealed class SetBonusItem(IDalamudPluginInterface pi) : FuncSubscriber(pi, Label) { /// The label. public const string Label = $"Glamourer.{nameof(SetBonusItem)}"; /// public GlamourerApiEc Invoke(int objectIndex, ApiBonusSlot slot, ulong itemId, uint key = 0, ApplyFlag flags = ApplyFlag.Once) => (GlamourerApiEc)Invoke(objectIndex, (byte)slot, itemId, key, (ulong)flags); /// Create a provider. public static FuncProvider Provider(IDalamudPluginInterface pi, IGlamourerApiItems api) => new(pi, Label, (a, b, c, d, e) => (int)api.SetBonusItem(a, (ApiBonusSlot)b, c, d, (ApplyFlag)e)); } /// public sealed class SetBonusItemName(IDalamudPluginInterface pi) : FuncSubscriber(pi, Label) { /// The label. public const string Label = $"Glamourer.{nameof(SetBonusItemName)}.V2"; /// public GlamourerApiEc Invoke(string objectName, ApiBonusSlot slot, ulong itemId, uint key = 0, ApplyFlag flags = ApplyFlag.Once) => (GlamourerApiEc)Invoke(objectName, (byte)slot, itemId, key, (ulong)flags); /// Create a provider. public static FuncProvider Provider(IDalamudPluginInterface pi, IGlamourerApiItems api) => new(pi, Label, (a, b, c, d, e) => (int)api.SetBonusItemName(a, (ApiBonusSlot)b, c, d, (ApplyFlag)e)); } /// public sealed class SetMetaState(IDalamudPluginInterface pi) : FuncSubscriber(pi, Label) { /// The label. public const string Label = $"Glamourer.{nameof(SetMetaState)}"; /// public GlamourerApiEc Invoke(int objectIndex, MetaFlag types, bool newValue, uint key = 0, ApplyFlag flags = ApplyFlag.Once) => (GlamourerApiEc)Invoke(objectIndex, (ulong)types, newValue, key, (ulong)flags); /// Create a provider. public static FuncProvider Provider(IDalamudPluginInterface pi, IGlamourerApiItems api) => new(pi, Label, (a, b, c, d, e) => (int)api.SetMetaState(a, (MetaFlag)b, c, d, (ApplyFlag)e)); } /// public sealed class SetMetaStateName(IDalamudPluginInterface pi) : FuncSubscriber(pi, Label) { /// The label. public const string Label = $"Glamourer.{nameof(SetMetaStateName)}"; /// public GlamourerApiEc Invoke(string objectName, MetaFlag types, bool newValue, uint key = 0, ApplyFlag flags = ApplyFlag.Once) => (GlamourerApiEc)Invoke(objectName, (ulong)types, newValue, key, (ulong)flags); /// Create a provider. public static FuncProvider Provider(IDalamudPluginInterface pi, IGlamourerApiItems api) => new(pi, Label, (a, b, c, d, e) => (int)api.SetMetaStateName(a, (MetaFlag)b, c, d, (ApplyFlag)e)); }