public void RegisterCallback <TEventType, TUserArgsType>(EventCallback <TEventType, TUserArgsType> callback, TUserArgsType userArgs, TrickleDown useTrickleDown = TrickleDown.NoTrickleDown) where TEventType : EventBase <TEventType>, new() { if (m_CallbackRegistry == null) { m_CallbackRegistry = new EventCallbackRegistry(); } m_CallbackRegistry.RegisterCallback <TEventType, TUserArgsType>(callback, userArgs, useTrickleDown); GlobalCallbackRegistry.RegisterListeners <TEventType>(this, callback, useTrickleDown); }