Search in sources :

Example 6 with OwnerComponent

use of com.gemserk.commons.artemis.components.OwnerComponent in project commons-gdx by gemserk.

the class ContainerSystemTest method shouldBeAddedToParentContainer.

@Test
public void shouldBeAddedToParentContainer() {
    World world = new World();
    WorldWrapper worldWrapper = new WorldWrapper(world);
    worldWrapper.addUpdateSystem(new ContainerSystem());
    worldWrapper.addUpdateSystem(new OwnerSystem());
    worldWrapper.init();
    Entity e1 = world.createEntity();
    e1.addComponent(new ContainerComponent());
    e1.refresh();
    Entity e2 = world.createEntity();
    e2.addComponent(new OwnerComponent(e1));
    e2.refresh();
    worldWrapper.update(10);
    ContainerComponent containerComponent = e1.getComponent(ContainerComponent.class);
    assertThat(containerComponent.getChildren().contains(e2), IsEqual.equalTo(true));
}
Also used : Entity(com.artemis.Entity) WorldWrapper(com.gemserk.commons.artemis.WorldWrapper) OwnerComponent(com.gemserk.commons.artemis.components.OwnerComponent) ContainerComponent(com.gemserk.commons.artemis.components.ContainerComponent) World(com.artemis.World) Test(org.junit.Test)

Example 7 with OwnerComponent

use of com.gemserk.commons.artemis.components.OwnerComponent in project commons-gdx by gemserk.

the class OrderedByLayerEntitiesTest method shouldReturnSubEntityBeforeParentEntityIfLesserSubLayer.

@Test
public void shouldReturnSubEntityBeforeParentEntityIfLesserSubLayer() {
    World world = new World();
    Entity e1 = world.createEntity();
    Entity e3 = world.createEntity();
    e1.addComponent(new RenderableComponent(5, 0));
    e3.addComponent(new RenderableComponent(5, -1, true));
    e3.addComponent(new OwnerComponent(e1));
    orderedByLayerEntities.add(e1);
    orderedByLayerEntities.add(e3);
    assertSame(orderedByLayerEntities.get(0), e3);
    assertSame(orderedByLayerEntities.get(1), e1);
}
Also used : Entity(com.artemis.Entity) OwnerComponent(com.gemserk.commons.artemis.components.OwnerComponent) RenderableComponent(com.gemserk.commons.artemis.components.RenderableComponent) World(com.artemis.World) Test(org.junit.Test)

Example 8 with OwnerComponent

use of com.gemserk.commons.artemis.components.OwnerComponent in project commons-gdx by gemserk.

the class OrderedByLayerEntitiesTest method testSubEntitiesAfterAnotherEntityIfParentIsAfter2.

@Test
public void testSubEntitiesAfterAnotherEntityIfParentIsAfter2() {
    World world = new World();
    Entity e1 = world.createEntity();
    Entity e2 = world.createEntity();
    Entity e3 = world.createEntity();
    e1.addComponent(new RenderableComponent(5));
    e2.addComponent(new RenderableComponent(5));
    e3.addComponent(new RenderableComponent(5, 2, true));
    e3.addComponent(new OwnerComponent(e1));
    orderedByLayerEntities.add(e2);
    orderedByLayerEntities.add(e1);
    orderedByLayerEntities.add(e3);
    assertSame(orderedByLayerEntities.get(0), e1);
    assertSame(orderedByLayerEntities.get(1), e3);
    assertSame(orderedByLayerEntities.get(2), e2);
}
Also used : Entity(com.artemis.Entity) OwnerComponent(com.gemserk.commons.artemis.components.OwnerComponent) RenderableComponent(com.gemserk.commons.artemis.components.RenderableComponent) World(com.artemis.World) Test(org.junit.Test)

Example 9 with OwnerComponent

use of com.gemserk.commons.artemis.components.OwnerComponent in project commons-gdx by gemserk.

the class OrderedByLayerEntitiesTest method testTwoSubEntities2.

@Test
public void testTwoSubEntities2() {
    World world = new World();
    Entity e1 = world.createEntity();
    Entity e3 = world.createEntity();
    Entity e4 = world.createEntity();
    e1.addComponent(new RenderableComponent(5, 0));
    e3.addComponent(new RenderableComponent(5, 6, true));
    e4.addComponent(new RenderableComponent(5, 8, true));
    e3.addComponent(new OwnerComponent(e1));
    e4.addComponent(new OwnerComponent(e1));
    orderedByLayerEntities.add(e1);
    orderedByLayerEntities.add(e3);
    orderedByLayerEntities.add(e4);
    assertSame(orderedByLayerEntities.get(0), e1);
    assertSame(orderedByLayerEntities.get(1), e3);
    assertSame(orderedByLayerEntities.get(2), e4);
}
Also used : Entity(com.artemis.Entity) OwnerComponent(com.gemserk.commons.artemis.components.OwnerComponent) RenderableComponent(com.gemserk.commons.artemis.components.RenderableComponent) World(com.artemis.World) Test(org.junit.Test)

Example 10 with OwnerComponent

use of com.gemserk.commons.artemis.components.OwnerComponent in project commons-gdx by gemserk.

the class OrderedByLayerEntitiesTest method bugEntityWithNullOwner2.

@Test
public void bugEntityWithNullOwner2() {
    World world = new World();
    Entity e1 = world.createEntity();
    Entity e2 = world.createEntity();
    e1.addComponent(new RenderableComponent(5));
    e2.addComponent(new RenderableComponent(5));
    e2.addComponent(new OwnerComponent(null));
    orderedByLayerEntities.add(e2);
    orderedByLayerEntities.add(e1);
    assertSame(orderedByLayerEntities.get(0), e1);
    assertSame(orderedByLayerEntities.get(1), e2);
}
Also used : Entity(com.artemis.Entity) OwnerComponent(com.gemserk.commons.artemis.components.OwnerComponent) RenderableComponent(com.gemserk.commons.artemis.components.RenderableComponent) World(com.artemis.World) Test(org.junit.Test)

Aggregations

OwnerComponent (com.gemserk.commons.artemis.components.OwnerComponent)18 Entity (com.artemis.Entity)15 World (com.artemis.World)14 Test (org.junit.Test)14 RenderableComponent (com.gemserk.commons.artemis.components.RenderableComponent)13 ContainerComponent (com.gemserk.commons.artemis.components.ContainerComponent)5 WorldWrapper (com.gemserk.commons.artemis.WorldWrapper)3 EntityProcessingSystem (com.artemis.EntityProcessingSystem)1 StoreComponent (com.gemserk.commons.artemis.components.StoreComponent)1 Renderable (com.gemserk.commons.artemis.render.Renderable)1 EntityStore (com.gemserk.commons.artemis.utils.EntityStore)1