private void removeComponents(int entityId) { Bag<ComponentMapper> mappers = componentMappers(entityId); for (int i = 0, s = mappers.size(); s > i; i++) { mappers.get(i).internalRemove(entityId); } setIdentity(entityId, 0); }
/** * Create and return an {@link Entity} wrapping a new or reused entity instance. * Entity is automatically added to the world. * * Use {@link Entity#edit()} to set up your newly created entity. * * You can also create entities using: * - {@link com.artemis.utils.EntityBuilder} Convenient entity creation. Not useful when pooling. * - {@link com.artemis.Archetype} Fastest, low level, no parameterized components. * * @return assigned entity id */ public int create(Archetype archetype) { int entityId = em.create(); archetype.transmuter.perform(entityId); cm.setIdentity(entityId, archetype.compositionId); batchProcessor.changed.unsafeSet(entityId); return entityId; }
private void removeComponents(int entityId) { Bag<ComponentMapper> mappers = componentMappers(entityId); for (int i = 0, s = mappers.size(); s > i; i++) { mappers.get(i).internalRemove(entityId); } setIdentity(entityId, 0); }
/** * Create and return an {@link Entity} wrapping a new or reused entity instance. * Entity is automatically added to the world. * * Use {@link Entity#edit()} to set up your newly created entity. * * You can also create entities using: * - {@link com.artemis.utils.EntityBuilder} Convenient entity creation. Not useful when pooling. * - {@link com.artemis.Archetype} Fastest, low level, no parameterized components. * * @return assigned entity id */ public int create(Archetype archetype) { int entityId = em.create(); archetype.transmuter.perform(entityId); cm.setIdentity(entityId, archetype.compositionId); batchProcessor.changed.unsafeSet(entityId); return entityId; }
private void removeComponents(int entityId) { Bag<ComponentMapper> mappers = componentMappers(entityId); for (int i = 0, s = mappers.size(); s > i; i++) { mappers.get(i).internalRemove(entityId); } setIdentity(entityId, 0); }
/** * Create and return an {@link Entity} wrapping a new or reused entity instance. * Entity is automatically added to the world. * * Use {@link Entity#edit()} to set up your newly created entity. * * You can also create entities using: * <ul> * <li>{@link com.artemis.utils.EntityBuilder} Convenient entity creation. Not useful when pooling.</li> * <li>{@link com.artemis.Archetype} Fastest, low level, no parameterized components.</li> * <li><a href="https://github.com/junkdog/artemis-odb/wiki/Serialization">Serialization</a>, * with a simple prefab-like class to parameterize the entities.</li> * </ul> * * @see #create() recommended alternative. * @return entity */ public Entity createEntity(Archetype archetype) { Entity e = em.createEntityInstance(); int id = e.getId(); archetype.transmuter.perform(id); cm.setIdentity(e.id, archetype.compositionId); batchProcessor.changed.unsafeSet(id); return e; }
/** * Create and return an {@link Entity} wrapping a new or reused entity instance. * Entity is automatically added to the world. * * Use {@link Entity#edit()} to set up your newly created entity. * * You can also create entities using: * <ul> * <li>{@link com.artemis.utils.EntityBuilder} Convenient entity creation. Not useful when pooling.</li> * <li>{@link com.artemis.Archetype} Fastest, low level, no parameterized components.</li> * <li><a href="https://github.com/junkdog/artemis-odb/wiki/Serialization">Serialization</a>, * with a simple prefab-like class to parameterize the entities.</li> * </ul> * * @see #create() recommended alternative. * @return entity */ public Entity createEntity(Archetype archetype) { Entity e = em.createEntityInstance(); int id = e.getId(); archetype.transmuter.perform(id); cm.setIdentity(e.id, archetype.compositionId); batchProcessor.changed.unsafeSet(id); return e; }