Пример #1
0
        /** <inheritDoc /> */
        public bool StopLocalListen <T>(IEventListener <T> listener, params int[] types) where T : IEvent
        {
            lock (_localFilters)
            {
                Dictionary <int, LocalHandledEventFilter> filters;

                if (!_localFilters.TryGetValue(listener, out filters))
                {
                    return(false);
                }

                var success = false;

                // Should do this inside lock to avoid race with subscription
                // ToArray is required because we are going to modify underlying dictionary during enumeration
                foreach (var filter in GetLocalFilters(listener, types).ToArray())
                {
                    success |= UU.EventsStopLocalListen(Target, filter.Handle);
                }

                return(success);
            }
        }