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(evt); } [Il2CppSetOption(Option.NullChecks, false)] [Il2CppSetOption(Option.DivideByZeroChecks, false)] [Il2CppSetOption(Option.ArrayBoundsChecks, false)] public static void Publish(Action init) where T : struct, IEventArgs { var evt = default(T); init(evt); Publish(in evt); } } }