Esempio n. 1
0
        public void RemoveListener(Listener.EventListenerDelegate observer, IEvent _name)
        {
            Listener        listener   = new Listener(observer, _name);
            List <Listener> notifyList = m_eventsComponents [_name.getKey()] as List <Listener>;

            if (notifyList != null)
            {
                if (notifyList.Contains(listener))
                {
                    notifyList.Remove(listener);
                }
                if (notifyList.Count == 0)
                {
                    m_eventsComponents.Remove(_name.getKey());
                }
            }
        }
Esempio n. 2
0
        public void AddListener(Listener.EventListenerDelegate observer, IEvent _name)
        {
            List <Listener> listeners = null;

            // If this specific notification doesn't exist yet, then create it.
            if (m_eventsComponents [_name.getKey()] == null)
            {
                listeners = new List <Listener> ();
                m_eventsComponents [_name.getKey()] = listeners;
            }
            else
            {
                listeners = m_eventsComponents [_name.getKey()] as List <Listener>;
            }
            Listener listener = new Listener(observer, _name);

            // If the list of observers doesn't already contain the one that's registering, the add it.
            if (!listeners.Contains(listener))
            {
                listeners.Add(listener);
            }
        }