Search in sources :

Example 1 with EntityStore

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

the class EntityStoreRefresherSystem method process.

@Override
public void process(World world) {
    RandomAccessWithKey<Object, EntityStore> stores = entityStores.getEntityStores();
    for (int i = 0; i < stores.size(); i++) {
        EntityStore entityStore = stores.get(i);
        entityStore.refreshPool();
    // int freed = entityStore.refreshPool();
    // if(freed!=0)
    // System.out.println(stores.getKey(i) + " - " + freed);
    }
}
Also used : EntityStore(com.gemserk.commons.artemis.utils.EntityStore)

Example 2 with EntityStore

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

the class EntityStores method put.

public EntityStore put(Object key, int count, TemplateStoreFactory storeFactory) {
    EntityStore entityStore = new EntityStore(storeFactory);
    storeFactory.setEntityStore(entityStore);
    map.put(key, entityStore);
    entityStore.preCreate(count);
    return entityStore;
}
Also used : EntityStore(com.gemserk.commons.artemis.utils.EntityStore)

Example 3 with EntityStore

use of com.gemserk.commons.artemis.utils.EntityStore 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);
}
Also used : Entity(com.artemis.Entity) WorldWrapper(com.gemserk.commons.artemis.WorldWrapper) EntityProcessingSystem(com.artemis.EntityProcessingSystem) OwnerComponent(com.gemserk.commons.artemis.components.OwnerComponent) ContainerComponent(com.gemserk.commons.artemis.components.ContainerComponent) EntityStore(com.gemserk.commons.artemis.utils.EntityStore) World(com.artemis.World) StoreComponent(com.gemserk.commons.artemis.components.StoreComponent) Test(org.junit.Test)

Aggregations

EntityStore (com.gemserk.commons.artemis.utils.EntityStore)3 Entity (com.artemis.Entity)1 EntityProcessingSystem (com.artemis.EntityProcessingSystem)1 World (com.artemis.World)1 WorldWrapper (com.gemserk.commons.artemis.WorldWrapper)1 ContainerComponent (com.gemserk.commons.artemis.components.ContainerComponent)1 OwnerComponent (com.gemserk.commons.artemis.components.OwnerComponent)1 StoreComponent (com.gemserk.commons.artemis.components.StoreComponent)1 Test (org.junit.Test)1