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)); }
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)); }
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)); }
private void MyRefHandler(ref TestStructEvent args) { }
private void MyValueHandler(TestStructEvent args) { }
private void OnTestEvent(ref TestStructEvent ev) { Assert.That(ev.TestNumber, Is.EqualTo(5)); ev.TestNumber += 10; }
private void OnC(ref TestStructEvent args) { // First handler being ran. Assert.That(args.TestNumber, Is.EqualTo(5)); args.TestNumber = 0; }
private void OnB(ref TestStructEvent args) { // Last handler being ran. Assert.That(args.TestNumber, Is.EqualTo(10)); args.TestNumber = 15; }
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; }