using System; using System.Runtime.CompilerServices; using Unity.IL2CPP.CompilerServices; namespace AlicizaX { public static class EventPublisher { [Il2CppSetOption(Option.NullChecks, false)] [Il2CppSetOption(Option.DivideByZeroChecks, false)] [Il2CppSetOption(Option.ArrayBoundsChecks, false)] [MethodImpl(MethodImplOptions.AggressiveInlining)] public static EventRuntimeHandle Subscribe(Action handler) where T : struct, IEventArgs { return EventContainer.Subscribe(handler); } [Il2CppSetOption(Option.NullChecks, false)] [Il2CppSetOption(Option.DivideByZeroChecks, false)] [Il2CppSetOption(Option.ArrayBoundsChecks, false)] [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Publish(in T evt) where T : struct, IEventArgs { EventContainer.Publish(in evt); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int GetSubscriberCount() where T : struct, IEventArgs { return EventContainer.SubscriberCount; } public static void EnsureCapacity(int capacity) where T : struct, IEventArgs { EventContainer.EnsureCapacity(capacity); } public static void Clear() where T : struct, IEventArgs { EventContainer.Clear(); } } }