using System; using System.Collections.Generic; namespace TyphoonEvent { public class EventKit { internal static EventKitImpl Impl => EventKitImpl.Instance; /// /// 注册 /// /// 代理 /// 消息类型 /// public static IEventProxy Register(Action handler) => Impl.Register(handler); /// /// 发布(触发消息) /// /// 消息 /// 消息类型 public static void Publish(T message = default) => Impl.Publish(message); /// /// 主动构建 /// public static void Build() => Impl.Build(); /// /// 重建所有Handlers /// public static void RebuildAllHandlers() => Impl.RebuildAllHandlers(); /// /// 重建Handlers清单 /// /// 消息类型 public static void RebuildHandlers() => Impl.RebuildHandlers(); internal static void Unregister(EventProxy proxy) => Impl.Unregister(proxy); internal static ProxyGroup GetGroup(uint key) => Impl.GetGroup(key); internal static void Register(IEventProxy[] proxies) => Impl.Register(proxies); internal static void ReleaseGroup(uint id) => Impl.ReleaseGroup(id); internal static EventOperation NewOperation(IEventProxy[] proxies) => Impl.NewOperation(proxies); internal static Dictionary Collections => Impl.Collections; internal static Dictionary Handlers => Impl.Handlers; internal static Dictionary Groups => Impl.Groups; public static bool HasInstance() => EventKitImpl.HasInstance(); public static void SetToNull() => EventKitImpl.SetToNull(); } }