use of com.gemserk.commons.artemis.components.ContainerComponent in project commons-gdx by gemserk.
the class ContainerSystemTest method shouldNotProcessDisabledChildrenEntity.
@SuppressWarnings("unchecked")
@Test
public void shouldNotProcessDisabledChildrenEntity() {
World world = new World();
WorldWrapper worldWrapper = new WorldWrapper(world);
worldWrapper.addUpdateSystem(new ContainerSystem());
worldWrapper.addUpdateSystem(new OwnerSystem());
shouldBeDisabled = false;
worldWrapper.addUpdateSystem(new EntityProcessingSystem(StoreComponent.class) {
@Override
protected void process(Entity e) {
if (shouldBeDisabled)
fail("should not process children");
System.out.println("processing children");
shouldBeDisabled = true;
}
});
worldWrapper.init();
Entity e1 = world.createEntity();
e1.addComponent(new ContainerComponent());
Entity e2 = world.createEntity();
e2.addComponent(new OwnerComponent(e1));
e2.addComponent(new StoreComponent(new EntityStore(null) {
}));
worldWrapper.update(1);
assertTrue(e1.isEnabled());
assertTrue(e2.isEnabled());
e1.delete();
worldWrapper.update(1);
assertFalse(e1.isEnabled());
assertFalse(e2.isEnabled());
worldWrapper.update(1);
}
Aggregations