@Override public boolean process(float delta, Entity e) { if (!completed && e.isActive()) { if ( operation.process(delta,e) ) { completed = (desiredRepetitions != UNLIMITED) && (++repetition >= desiredRepetitions); if ( !completed ) { operation.rewind(); } } } return completed; }
@Override public boolean process(float delta, Entity e) { if (!completed && e.isActive()) { if ( operation.process(delta,e) ) { completed = (desiredRepetitions != UNLIMITED) && (++repetition >= desiredRepetitions); if ( !completed ) { operation.rewind(); } } } return completed; }
/** * Remove component by its type. * @param type Type of component to remove. * * @return this entity for chaining. */ public Entity removeComponent(Class<? extends Component> type) { componentManager.removeComponent(this, type); if (isActive()) { world.changedEntity(this); } return this; }
/** * Add a component to this entity. * * @param component to add to this entity * * @return this entity for chaining. */ public Entity addComponent(Component component) { componentManager.addComponent(this, component); if (isActive()) { world.changedEntity(this); } return this; }
protected void nextOperation(float delta, Entity e, Operation operation) { Preconditions.checkArgument(!operation.isCompleted(), "Operation should never be completed before the first process."); if ( e.isActive() && operation.process(delta, e)) { index++; } }
protected void nextOperation(float delta, Entity e, Operation operation) { Preconditions.checkArgument(!operation.isCompleted(), "Operation should never be completed before the first process."); if ( e.isActive() && operation.process(delta, e)) { index++; } }
@Override public boolean process(float delta, Entity e) { if ( isCompleted() ) return true; boolean operationsRemain = false; for (int i = 0; i < operations.size; i++) { if (!e.isActive()) break; final Operation operation = operations.get(i); if (!operation.process(delta, e)) { operationsRemain = true; } } completed = !operationsRemain; return completed; } }
@Override public boolean process(float delta, Entity e) { if ( isCompleted() ) return true; boolean operationsRemain = false; for (int i = 0; i < operations.size; i++) { if (!e.isActive()) break; final Operation operation = operations.get(i); if (!operation.process(delta, e)) { operationsRemain = true; } } completed = !operationsRemain; return completed; } }
@Override protected void process(Entity e) { Schedule schedule = sm.get(e); schedule.age += world.delta; final Array<Step> steps = schedule.steps; for (int i = 0; i < steps.size; i++) { final Step step = steps.get(i); if (schedule.age >= step.atAge && step.act(world.delta, e) && i < steps.size) { steps.removeIndex(i); step.release(); i--; if ( !e.isActive() ) return; } } if (schedule.steps.size == 0 && e.isActive() ) { e.edit().remove(Schedule.class); } } }