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