public void QueueEvent() { Assert.That(() => { bool eventPropogated = false; PassListener listener = new PassListener((bool pass) => { eventPropogated = pass; }); EventManager.Instance.RegisterListener <Event1>(listener); EventManager.Instance.QueueEvent(new Event1()); EventManager.Instance.UnregisterListener(listener); return(!eventPropogated); }); Assert.That(() => { bool eventPropogated = false; PassListener listener = new PassListener((bool pass) => { eventPropogated = pass; }); EventManager.Instance.RegisterListener <Event1>(listener); EventManager.Instance.QueueEvent(new Event1()); EventManager.Instance.Dispatch(); EventManager.Instance.UnregisterListener(listener); return(eventPropogated); }); }
public void TriggerEvent() { Listener1 listener1 = new Listener1(); Listener2 listener2 = new Listener2(); EventManager.Instance.RegisterListener <Event1>(listener1); Assert.False(EventManager.Instance.TriggerEvent(new Event1())); EventManager.Instance.RegisterListener <Event1>(listener2); Assert.True(EventManager.Instance.TriggerEvent(new Event1())); EventManager.Instance.UnregisterListener <Event1>(listener2); Assert.False(EventManager.Instance.TriggerEvent(new Event1())); EventManager.Instance.RegisterListener <Event1>(listener2); EventManager.Instance.UnregisterListener(listener2); Assert.False(EventManager.Instance.TriggerEvent(new Event1())); Assert.That(() => { bool eventPropogated = false; PassListener listener = new PassListener((bool pass) => { eventPropogated = pass; }); EventManager.Instance.RegisterListener <Event1>(listener); EventManager.Instance.TriggerEvent(new Event1()); EventManager.Instance.UnregisterListener(listener); return(eventPropogated); }); }