successfully added debug spawning system and finished void circle enemy

This commit is contained in:
2017-05-31 23:55:44 -05:00
parent 70bf120a5f
commit b17cc61839
14 changed files with 152 additions and 113 deletions

View File

@@ -14,21 +14,23 @@ public class EntityController {
AssetManager assets;
ShapeRenderer shapes;
public final Array<Entity> ACTIVE_ALLIES;
public final Array<Entity> ACTIVE_ENEMIES;
public Array<Entity> activeAllies;
public Array<Entity> activeEnemies;
//Enemy pool declaration;
private final Pool<VoidCircle> VOID_CIRCLE_POOL;
private Pool<VoidCircle> voidCirclePool;
//Ally pool declaration;
private final Pool<Laser> LASER_POOL;
public EntityController(ShapeRenderer shapeRenderer, AssetManager assetManager) {
ACTIVE_ALLIES = new Array<Entity>();
ACTIVE_ENEMIES = new Array<Entity>();
private Pool<Laser> laserPool;
public EntityController(AssetManager assetManager, ShapeRenderer shapeRenderer) {
activeAllies = new Array<Entity>();
activeEnemies = new Array<Entity>();
this.assets = assetManager;
this.shapes = shapeRenderer;
shapes.setAutoShapeType(true);
//Enemy pool initialization;
VOID_CIRCLE_POOL = new Pool<VoidCircle>() {
voidCirclePool = new Pool<VoidCircle>() {
@Override
protected VoidCircle newObject() {
return new VoidCircle(shapes);
@@ -36,7 +38,7 @@ public class EntityController {
};
//Ally pool initialization;
LASER_POOL = new Pool<Laser>() {
laserPool = new Pool<Laser>() {
@Override
protected Laser newObject() {
return new Laser(assets.get("laser.png", Texture.class));
@@ -46,19 +48,18 @@ public class EntityController {
}
public Entity retrieveEntity(Entities entity) {
Gdx.app.debug("EntityController", "spawning entity " + entity.name());
switch (entity) {
case VOID_CIRCLE:
VoidCircle voidCircle = VOID_CIRCLE_POOL.obtain();
ACTIVE_ENEMIES.add(voidCircle);
VoidCircle voidCircle = voidCirclePool.obtain();
activeEnemies.add(voidCircle);
return voidCircle;
case BAR_BEAT:
return null;
case SHARDS:
return null;
case LASER:
Laser laser = LASER_POOL.obtain();
ACTIVE_ALLIES.add(laser);
Laser laser = laserPool.obtain();
activeAllies.add(laser);
return laser;
default:
return null;
@@ -74,14 +75,14 @@ public class EntityController {
case VOID_CIRCLE:
VoidCircle voidCircle = (VoidCircle) entity;
voidCircle.remove();
ACTIVE_ENEMIES.removeValue(entity, true);
VOID_CIRCLE_POOL.free(voidCircle);
activeEnemies.removeValue(entity, true);
voidCirclePool.free(voidCircle);
break;
case LASER:
Laser laser = (Laser) entity;
laser.remove();
ACTIVE_ALLIES.removeValue(entity, true);
LASER_POOL.free(laser);
activeAllies.removeValue(entity, true);
laserPool.free(laser);
break;
default:
break;