world.process();
}
}
private static World prepareWorld(int numEntities) {
World world = new World();
world.setSystem(new MovementSystem());
world.setSystem(new StateSystem());
world.setSystem(new CollisionSystem());
world.setSystem(new RemovalSystem());
world.initialize();
for (int i = 0; i < numEntities; ++i) {
Entity entity = world.createEntity();
if (Constants.shouldHaveComponent(ComponentType.POSITION, i)) {
PositionComponent pos = new PositionComponent();
pos.pos.x = MathUtils.random(Constants.MIN_POS, Constants.MAX_POS);
pos.pos.y = MathUtils.random(Constants.MIN_POS, Constants.MAX_POS);
entity.addComponent(pos);
}
if (Constants.shouldHaveComponent(ComponentType.MOVEMENT, i)) {
MovementComponent mov = new MovementComponent();
mov.velocity.x = MathUtils.random(Constants.MIN_VEL, Constants.MAX_VEL);
mov.velocity.y = MathUtils.random(Constants.MIN_VEL, Constants.MAX_VEL);
mov.accel.x = MathUtils.random(Constants.MIN_ACC, Constants.MAX_ACC);
mov.accel.y = MathUtils.random(Constants.MIN_ACC, Constants.MAX_ACC);
entity.addComponent(mov);
}
if (Constants.shouldHaveComponent(ComponentType.RADIUS, i)) {
RadiusComponent rad = new RadiusComponent();
rad.radius = MathUtils.random(Constants.MIN_RADIUS, Constants.MAX_RADIUS);
entity.addComponent(rad);
}
if (Constants.shouldHaveComponent(ComponentType.STATE, i)) {
entity.addComponent(new StateComponent());
}
world.addEntity(entity);
}
return world;
}