public void SubscribeCompRefDirectedEvent()
        {
            // Arrange.
            var simulation = RobustServerSimulation
                             .NewSimulation()
                             .RegisterComponents(factory => factory.RegisterClass <DummyComponent>())
                             .RegisterEntitySystems(factory => factory.LoadExtraSystemType <SubscribeCompRefDirectedEventSystem>())
                             .InitializeInstance();

            var map = new MapId(1);

            simulation.AddMap(map);

            var entity = simulation.SpawnEntity(null, new MapCoordinates(0, 0, map));

            IoCManager.Resolve <IEntityManager>().AddComponent <DummyComponent>(entity);

            // Act.
            var testEvent = new TestStructEvent {
                TestNumber = 5
            };
            var eventBus = simulation.Resolve <IEntityManager>().EventBus;

            eventBus.RaiseLocalEvent(entity, ref testEvent);

            // Check that the entity system changed the value correctly
            Assert.That(testEvent.TestNumber, Is.EqualTo(10));
        }
Example #2
0
        public void SubscribeCompRefBroadcastEvent()
        {
            // Arrange.
            var simulation = RobustServerSimulation
                             .NewSimulation()
                             .RegisterEntitySystems(factory => factory.LoadExtraSystemType <SubscribeCompRefBroadcastSystem>())
                             .InitializeInstance();

            var ev = new TestStructEvent()
            {
                TestNumber = 5
            };

            simulation.Resolve <IEntityManager>().EventBus.RaiseEvent(EventSource.Local, ref ev);
            Assert.That(ev.TestNumber, Is.EqualTo(15));
        }
        public void SortedDirectedRefEvents()
        {
            // Arrange.
            var simulation = RobustServerSimulation
                             .NewSimulation()
                             .RegisterComponents(factory =>
            {
                factory.RegisterClass <OrderComponentA>();
                factory.RegisterClass <OrderComponentB>();
                factory.RegisterClass <OrderComponentC>();
            })
                             .RegisterEntitySystems(factory =>
            {
                factory.LoadExtraSystemType <OrderASystem>();
                factory.LoadExtraSystemType <OrderBSystem>();
                factory.LoadExtraSystemType <OrderCSystem>();
            })
                             .InitializeInstance();

            var map = new MapId(1);

            simulation.AddMap(map);

            var entity = simulation.SpawnEntity(null, new MapCoordinates(0, 0, map));

            entity.AddComponent <OrderComponentA>();
            entity.AddComponent <OrderComponentB>();
            entity.AddComponent <OrderComponentC>();

            // Act.
            var testEvent = new TestStructEvent {
                TestNumber = 5
            };
            var eventBus = simulation.Resolve <IEntityManager>().EventBus;

            eventBus.RaiseLocalEvent(entity.Uid, ref testEvent);

            // Check that the entity systems changed the value correctly
            Assert.That(testEvent.TestNumber, Is.EqualTo(15));
        }
Example #4
0
        public void SortedBroadcastRefEvents()
        {
            // Arrange.
            var simulation = RobustServerSimulation
                             .NewSimulation()
                             .RegisterEntitySystems(factory =>
            {
                factory.LoadExtraSystemType <BroadcastOrderASystem>();
                factory.LoadExtraSystemType <BroadcastOrderBSystem>();
                factory.LoadExtraSystemType <BroadcastOrderCSystem>();
            })
                             .InitializeInstance();

            // Act.
            var testEvent = new TestStructEvent {
                TestNumber = 5
            };
            var eventBus = simulation.Resolve <IEntityManager>().EventBus;

            eventBus.RaiseEvent(EventSource.Local, ref testEvent);

            // Check that the entity systems changed the value correctly
            Assert.That(testEvent.TestNumber, Is.EqualTo(15));
        }
Example #5
0
 private void MyRefHandler(ref TestStructEvent args)
 {
 }
Example #6
0
 private void MyValueHandler(TestStructEvent args)
 {
 }
Example #7
0
 private void OnTestEvent(ref TestStructEvent ev)
 {
     Assert.That(ev.TestNumber, Is.EqualTo(5));
     ev.TestNumber += 10;
 }
Example #8
0
 private void OnC(ref TestStructEvent args)
 {
     // First handler being ran.
     Assert.That(args.TestNumber, Is.EqualTo(5));
     args.TestNumber = 0;
 }
Example #9
0
 private void OnB(ref TestStructEvent args)
 {
     // Last handler being ran.
     Assert.That(args.TestNumber, Is.EqualTo(10));
     args.TestNumber = 15;
 }
Example #10
0
 private void OnA(ref TestStructEvent args)
 {
     // Second handler being ran.
     Assert.That(args.TestNumber, Is.EqualTo(0));
     args.TestNumber = 10;
 }
 private void MyRefHandler(EntityUid uid, DummyComponent component, ref TestStructEvent args)
 {
 }
 private void MyValueHandler(EntityUid uid, DummyTwoComponent component, TestStructEvent args)
 {
 }
 private void MyRefHandler(EntityUid uid, DummyComponent component, ref TestStructEvent args)
 {
     Assert.That(args.TestNumber, Is.EqualTo(5));
     args.TestNumber = 10;
 }
 private void OnC(EntityUid uid, OrderCComponent component, ref TestStructEvent args)
 {
     // First handler being ran.
     Assert.That(args.TestNumber, Is.EqualTo(5));
     args.TestNumber = 0;
 }
 private void OnB(EntityUid uid, OrderBComponent component, ref TestStructEvent args)
 {
     // Last handler being ran.
     Assert.That(args.TestNumber, Is.EqualTo(10));
     args.TestNumber = 15;
 }
 private void OnA(EntityUid uid, OrderAComponent component, ref TestStructEvent args)
 {
     // Second handler being ran.
     Assert.That(args.TestNumber, Is.EqualTo(0));
     args.TestNumber = 10;
 }