public void processEntity(Entity entity, float deltaTime) { InvincibleComponent invincibleC = Mappers.invicible.get(entity); LifeDurationComponent lifeDurationC = Mappers.lifeDuration.get(entity); IntervalComponent intervalC = Mappers.interval.get(entity); if (intervalC != null) { if (!intervalC.tickComplete) { intervalC.tickComplete = intervalC.interval.lapse(deltaTime); } } if (invincibleC != null) { if (invincibleC.time.lapse(deltaTime)) { entity.remove(InvincibleComponent.class); } } if (lifeDurationC != null) { if (lifeDurationC.interval.lapse(deltaTime)) { GameEntity gameEntity = lifeDurationC.gameEntity; gameEntity.kill(); entity.remove(LifeDurationComponent.class); } } }
private void createBullet(Vector2 position, float angle) { final GameEntity bullet = engineCtrl.createBullet(this.parent, this.bulletDataType); bullet.setPosition(position.x, position.y, angle); VelocityComponent velC = Mappers.velocity.get(bullet.entity); velC.x = Vector2Utils.getXFromAngle(angle); velC.y = Vector2Utils.getYFromAngle(angle); }