/** @param index the index of the bit * @return whether the bit is set * @throws ArrayIndexOutOfBoundsException if index < 0 or index >= words.length</></>*/ public boolean unsafeGet(int index) { return get(index); }
@Override boolean has(int entityId) { return idBits.get(entityId); }
@Override boolean has(int entityId) { return idBits.get(entityId); }
private boolean updateReferenced(int entityId, BitVector referencedIds) { if (entityId > -1 && !referencedIds.get(entityId)) { referencedIds.set(entityId); return true; } else { return false; } } }
private boolean updateReferenced(int entityId, BitVector referencedIds) { if (entityId > -1 && !referencedIds.get(entityId)) { referencedIds.set(entityId); return true; } else { return false; } } }
public boolean get(int bitIndex) { checkIndex(bitIndex); return get(array, bitIndex); }
public boolean isEnabled(BaseSystem system) { Class<? extends BaseSystem> target = system.getClass(); ImmutableBag<BaseSystem> systems = world.getSystems(); for (int i = 0; i < systems.size(); i++) { if (target == systems.get(i).getClass()) return !disabled.get(i); } throw new RuntimeException("huh?"); }
public boolean isEnabled(BaseSystem system) { Class<? extends BaseSystem> target = system.getClass(); ImmutableBag<BaseSystem> systems = world.getSystems(); for (int i = 0; i < systems.size(); i++) { if (target == systems.get(i).getClass()) return !disabled.get(i); } throw new RuntimeException("huh?"); }
void deleted(IntBag entities) { int[] ids = entities.getData(); for (int i = 0, s = entities.size(); s > i; i++) { int id = ids[i]; if (registered.get(id)) { String removedTag = tagsByEntity.remove(world.getEntity(id)); entitiesByTag.remove(removedTag); registered.clear(id); } } }
void deleted(IntBag entities) { int[] ids = entities.getData(); for (int i = 0, s = entities.size(); s > i; i++) { int id = ids[i]; if (registered.get(id)) { String removedTag = tagsByEntity.remove(world.getEntity(id)); entitiesByTag.remove(removedTag); registered.clear(id); } } }
@Override boolean unmark(int entityId) { if (idBits.get(entityId)) { idBits.clear(entityId); if (pool != null) { pool.free((PooledComponent) components.get(entityId)); } return true; } else { return false; } }
@Override boolean unmark(int entityId) { if (idBits.get(entityId)) { idBits.clear(entityId); if (pool != null) { pool.free((PooledComponent) components.get(entityId)); } return true; } else { return false; } }
private void processProfileSystems(Bag<BaseSystem> systems) { final Object[] systemsData = systems.getData(); for (int i = 0, s = systems.size(); s > i; i++) { if (disabled.get(i)) continue; updateEntityStates(); processProfileSystem(profilers[i], (BaseSystem) systemsData[i]); } updateEntityStates(); }
private void processProfileSystems(Bag<BaseSystem> systems) { final Object[] systemsData = systems.getData(); for (int i = 0, s = systems.size(); s > i; i++) { if (disabled.get(i)) continue; updateEntityStates(); processProfileSystem(profilers[i], (BaseSystem) systemsData[i]); } updateEntityStates(); }
/** * Processes all systems in order. * * Should guarantee artemis is in a sane state using calls to #updateEntityStates * before each call to a system, and after the last system has been called, or if no * systems have been called at all. */ @Override protected void process() { Object[] systemsData = systems.getData(); for (int i = 0, s = systems.size(); s > i; i++) { if (disabled.get(i)) continue; updateEntityStates(); ((BaseSystem)systemsData[i]).process(); } updateEntityStates(); } }
/** * Processes all systems in order. * <p> * Should guarantee artemis is in a sane state using calls to #updateEntityStates * before each call to a system, and after the last system has been called, or if no * systems have been called at all. */ @Override protected void process() { BaseSystem[] systemsData = systems.getData(); for (int i = 0, s = systems.size(); s > i; i++) { if (disabled.get(i)) continue; updateEntityStates(); systemsData[i].process(); } updateEntityStates(); } }
private Bag<ComponentMapper> getAdditions(BitVector origin) { ComponentTypeFactory tf = cm.typeFactory; Bag<ComponentMapper> types = new Bag(ComponentMapper.class); for (int i = additions.nextSetBit(0); i >= 0; i = additions.nextSetBit(i + 1)) { if (!origin.get(i)) types.add(cm.getMapper(tf.getTypeFor(i).getType())); } return types; }
private Bag<ComponentMapper> getRemovals(BitVector origin) { ComponentTypeFactory tf = cm.typeFactory; Bag<ComponentMapper> types = new Bag(ComponentMapper.class); for (int i = removals.nextSetBit(0); i >= 0; i = removals.nextSetBit(i + 1)) { if (origin.get(i)) types.add(cm.getMapper(tf.getTypeFor(i).getType())); } return types; } }
private Bag<ComponentMapper> getAdditions(BitVector origin) { ComponentTypeFactory tf = cm.typeFactory; Bag<ComponentMapper> types = new Bag(ComponentMapper.class); for (int i = additions.nextSetBit(0); i >= 0; i = additions.nextSetBit(i + 1)) { if (!origin.get(i)) types.add(cm.getMapper(tf.getTypeFor(i).getType())); } return types; }
private Bag<ComponentMapper> getRemovals(BitVector origin) { ComponentTypeFactory tf = cm.typeFactory; Bag<ComponentMapper> types = new Bag(ComponentMapper.class); for (int i = removals.nextSetBit(0); i >= 0; i = removals.nextSetBit(i + 1)) { if (origin.get(i)) types.add(cm.getMapper(tf.getTypeFor(i).getType())); } return types; } }