Search in sources :

Example 51 with Entity

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

the class GetComponentPerformanceTest method testTimeWithGetComponentUsingTypeAndClass.

public long testTimeWithGetComponentUsingTypeAndClass(int iterations) {
    World world = new World();
    Entity e = world.createEntity();
    e.addComponent(new MyTestComponent());
    e.refresh();
    ComponentType myTestComponentType = ComponentTypeManager.getTypeFor(MyTestComponent.class);
    long startNanoTime = System.nanoTime();
    for (int i = 0; i < iterations; i++) {
        // MyTestComponent myTestComponent = MyTestComponent.class.cast(e.getComponent(myTestComponentType.getId()));
        MyTestComponent.class.cast(e.getComponent(myTestComponentType.getId()));
    }
    return System.nanoTime() - startNanoTime;
}
Also used : Entity(com.artemis.Entity) ComponentType(com.artemis.ComponentType) World(com.artemis.World)

Example 52 with Entity

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

the class EntityBuilderNew method build.

public Entity build() {
    checkEntityCreated();
    Entity builtEntity = entity;
    entity = null;
    builtEntity.refresh();
    return builtEntity;
}
Also used : Entity(com.artemis.Entity)

Example 53 with Entity

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

the class HierarchySystem method removed.

@Override
protected void removed(Entity entity) {
    ParentComponent parentComponent = entity.getComponent(ParentComponent.class);
    // if for some reason the entity parent component was removed before this method was called
    if (parentComponent == null)
        return;
    entity.removeComponent(parentComponent);
    ArrayList<Entity> children = parentComponent.getChildren();
    for (int i = 0; i < children.size(); i++) {
        Entity child = children.get(i);
        world.deleteEntity(child);
    }
}
Also used : Entity(com.artemis.Entity) ParentComponent(com.gemserk.commons.artemis.components.ParentComponent)

Example 54 with Entity

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

the class OrderedByLayerEntitiesTest method shouldReturnSubEntityBeforeAnotherEntityIfParentEntityBeforeThatOne.

@Test
public void shouldReturnSubEntityBeforeAnotherEntityIfParentEntityBeforeThatOne() {
    World world = new World();
    Entity e1 = world.createEntity();
    Entity e2 = world.createEntity();
    Entity e3 = world.createEntity();
    e1.addComponent(new RenderableComponent(5, 0));
    e2.addComponent(new RenderableComponent(5));
    e3.addComponent(new RenderableComponent(5, 1, true));
    e3.addComponent(new OwnerComponent(e1));
    orderedByLayerEntities.add(e1);
    orderedByLayerEntities.add(e2);
    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 55 with Entity

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

the class OrderedByLayerEntitiesTest method bugEntityWithNullOwner.

@Test
public void bugEntityWithNullOwner() {
    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(e1);
    orderedByLayerEntities.add(e2);
    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

Entity (com.artemis.Entity)59 World (com.artemis.World)38 Test (org.junit.Test)31 RenderableComponent (com.gemserk.commons.artemis.components.RenderableComponent)16 OwnerComponent (com.gemserk.commons.artemis.components.OwnerComponent)15 WorldWrapper (com.gemserk.commons.artemis.WorldWrapper)8 EntityFactory (com.gemserk.commons.artemis.templates.EntityFactory)6 EntityFactoryImpl (com.gemserk.commons.artemis.templates.EntityFactoryImpl)6 EntityTemplate (com.gemserk.commons.artemis.templates.EntityTemplate)6 Spatial (com.gemserk.commons.gdx.games.Spatial)6 SpatialComponent (com.gemserk.commons.artemis.components.SpatialComponent)5 Body (com.badlogic.gdx.physics.box2d.Body)4 ContainerComponent (com.gemserk.commons.artemis.components.ContainerComponent)4 StoreComponent (com.gemserk.commons.artemis.components.StoreComponent)4 ParametersWrapper (com.gemserk.componentsengine.utils.ParametersWrapper)3 ComponentType (com.artemis.ComponentType)2 PreviousStateSpatialComponent (com.gemserk.commons.artemis.components.PreviousStateSpatialComponent)2 SpriteComponent (com.gemserk.commons.artemis.components.SpriteComponent)2 Script (com.gemserk.commons.artemis.scripts.Script)2 Container (com.gemserk.componentsengine.utils.Container)2