Ejemplo n.º 1
0
        public void AddListener(string name, EventListener listener)
        {
            assert.IsNotNull(name);
            assert.IsNotNull(listener);

            if (listenersLookup == null)
            {
                listenersLookup = new Dictionary <string, EventListenerList>();
            }

            EventListenerList list;

            if (!listenersLookup.TryGetValue(name, out list))
            {
                list = new EventListenerList();
                listenersLookup[name] = list;
            }

            list.Add(listener);
        }
Ejemplo n.º 2
0
        public void DispatchEvent(object sender, string name, object data)
        {
            assert.IsNotNull(sender);
            assert.IsNotNull(name);

            EventListenerList list = FindEventListenerList(name);

            if (list != null)
            {
                Event evt = eventPool.Take();
                if (evt == null)
                {
                    evt = new Event();
                }

                evt.sender = sender;
                evt.name   = name;
                evt.data   = data;

                list.Dispatch(evt);

                eventPool.Put(evt);
            }
        }