Exemple #1
0
        public void MapOnce <T1, T2, T3>(IEventDispatcher dispatcher, Event <T1, T2, T3> @event, Action <T1, T2, T3> listener)
        {
            var info = AddMapInfo(dispatcher, @event, listener, dispatcher.RemoveListener);

            dispatcher.AddListenerOnce(@event, listener);
            dispatcher.AddListenerOnce(@event, (p1, p2, p3) => { RemoveMapInfo(info); });
        }
Exemple #2
0
        public void MapOnce(IEventDispatcher dispatcher, Event @event, Action listener)
        {
            var info = AddMapInfo(dispatcher, @event, listener, dispatcher.RemoveListener);

            dispatcher.AddListenerOnce(@event, listener);
            dispatcher.AddListenerOnce(@event, () => { RemoveMapInfo(info); });
        }
Exemple #3
0
        public void RemoveListenerOnceTest00()
        {
            void Listener() => _counter++;

            _dispatcher.AddListenerOnce(TestEvent.Event00, Listener);
            _dispatcher.RemoveListener(TestEvent.Event00, Listener);
            _dispatcher.Dispatch(TestEvent.Event00);
            Assert.AreEqual(0, _counter);
        }
Exemple #4
0
        public void OnceListenerAddedDuringInvocationTest00()
        {
            _dispatcher.AddListenerOnce(TestEvent.Event00, EventListener00_01);
            _dispatcher.Dispatch(TestEvent.Event00);
            _dispatcher.Dispatch(TestEvent.Event00);
            _dispatcher.Dispatch(TestEvent.Event00);

            Assert.AreEqual(2, _counter);
        }
Exemple #5
0
 public ListenerClass00(IEventDispatcher dispatcher)
 {
     dispatcher.AddListenerOnce(TestEvent.Event00, OnOnce);
 }
Exemple #6
0
 public void AddListenerOnce(Event @event, Action listener)
 {
     _dispatcher.AddListenerOnce(@event, listener);
 }