static public void Dispatch <T>(string evt, T param) { HashSet <Delegate> hashSet; if (!callbackFuncs.TryGetValue(evt, out hashSet)) { return; } HashSet <Delegate> .Enumerator em = hashSet.GetEnumerator(); do { CALLBACK_FUNC_1 <T> handler = (em.Current as CALLBACK_FUNC_1 <T>); if (handler == null) { continue; } handler.Invoke(param); } while (em.MoveNext()); }
static public void RemoveListener <T>(string evt, CALLBACK_FUNC_1 <T> func) { TryRemoveDelegate(evt, func); }
static public void AddListener <T>(string evt, CALLBACK_FUNC_1 <T> func) { TryAddDelegate(evt, func); }