private EventListener _AddEventListener(string name, Delegate handler, string extendInfo = null) { var lss = m_listeners.GetDefault(name); var ls = lss.Find(l => l.EqualsTo(handler)); if (ls) { return(ls); } ls = EventListener.Create(name, handler, this, extendInfo); lss.Add(ls); m_states.GetDefault(name); // we always add default event queue state when add a new event listener return(ls); }
private static EventListener _AddEventListener(string name, Delegate handler, string extendInfo = null) { var lss = m_globalListeners.GetDefault(name); var ls = lss.Find(l => l.EqualsTo(handler)); if (ls) { return(ls); } ls = EventListener.Create(name, handler, null, extendInfo); lss.Add(ls); m_linkedStates.GetDefault(name); // we always add global linkedState queue when add a new event listener m_removeListeners.GetDefault(name); // and also remove queue... ++listenersCount; return(ls); }