Ejemplo n.º 1
0
        private void ClearListenerOfList(ref EventHandlerRec list, object o)
        {
            var eventHandlerRec = list;

            while (eventHandlerRec != null && eventHandlerRec.Owner != o)
            {
                eventHandlerRec = eventHandlerRec.Next;
            }
            if (eventHandlerRec == null)
            {
                return;
            }
            var eventHandlerRec2 = list;

            if (eventHandlerRec2 == eventHandlerRec)
            {
                list = eventHandlerRec2.Next;
                return;
            }
            while (eventHandlerRec2 != null)
            {
                if (eventHandlerRec2.Next == eventHandlerRec)
                {
                    eventHandlerRec2.Next = eventHandlerRec.Next;
                }
                else
                {
                    eventHandlerRec2 = eventHandlerRec2.Next;
                }
            }
        }
Ejemplo n.º 2
0
        public void AddNonSerializedListener(object owner, Action action)
        {
            var eventHandlerRec           = new EventHandlerRec(owner, action);
            var nonSerializedListenerList = _nonSerializedListenerList;

            _nonSerializedListenerList = eventHandlerRec;
            eventHandlerRec.Next       = nonSerializedListenerList;
        }
Ejemplo n.º 3
0
 private void InvokeList(EventHandlerRec list)
 {
     while (list != null)
     {
         list.Action();
         list = list.Next;
     }
 }