示例#1
0
        public void TestConcurrentListenersSequentially(int numListeners)
        {
            _eb.RegisterEvent(_eventControl);
            _eb.RegisterEvent(_eventSound);
            _eb.RegisterEvent(_eventControl);

            List <SimpleEventProcessor> listOfProcessors = new List <SimpleEventProcessor>();

            for (int iter = 0; iter < numListeners; iter++)
            {
                var processor = new SimpleEventProcessor();
                listOfProcessors.Add(processor);
                _eb.Subscribe(GameEventType.ControlEvent, processor);
                _eb.Subscribe(GameEventType.SoundEvent, processor);
            }

            _eb.ProcessEventsSequentially();

            Assert.That(_simpleEventProcessor.EventCounterControl == 2);
            Assert.That(_simpleEventProcessor.EventCounterSound == 1);
            foreach (var processor in listOfProcessors)
            {
                Assert.That(processor.EventCounterControl == 2);
                Assert.That(processor.EventCounterSound == 1);
            }
        }
示例#2
0
        public void SetupEventBusForTests()
        {
            _eb = new GameEventBus <object>();
            _eb.InitializeEventBus(_registeredEvents);

            _simpleEventProcessor = new SimpleEventProcessor();

            _eb.Subscribe(GameEventType.ControlEvent, _simpleEventProcessor);
            _eb.Subscribe(GameEventType.SoundEvent, _simpleEventProcessor);

            _eventControl = GameEventFactory <object> .CreateGameEventForAllProcessors(
                GameEventType.ControlEvent, this, "Test1", "test", "test");

            _eventSound = GameEventFactory <object> .CreateGameEventForAllProcessors(
                GameEventType.SoundEvent, this, "Test2", "test", "test");
        }
示例#3
0
 public TrackerHub()
 {
     _processor = new SimpleEventProcessor(data => {
         Clients.All.message(data);
     });
 }