Ejemplo n.º 1
0
        private void RemoveListener(Type type, InternalEventListener listener)
        {
            _eventListeners[type].Remove(listener);

            if (!_eventListeners[type].Any())
            {
                _eventListeners.Remove(type);

                foreach (var sourceStream in _sourceStreams)
                {
                    sourceStream.RemoveListener(type, this);
                }
            }
        }
Ejemplo n.º 2
0
        private void AddListener(Type eventType, InternalEventListener listener)
        {
            if (!_eventListeners.ContainsKey(eventType))
            {
                _eventListeners[eventType] = new List <InternalEventListener>();

                foreach (var sourceStream in _sourceStreams)
                {
                    sourceStream.AddListener(eventType, new InternalEventListener(this));
                }
            }

            _eventListeners[eventType].Add(listener);
        }