began work on flake entity

This commit is contained in:
2017-06-03 23:26:03 -05:00
parent 53ff7109b2
commit b80aca0e29
23 changed files with 149 additions and 16 deletions

View File

@@ -8,6 +8,7 @@ import com.badlogic.gdx.utils.Pool;
import zero1hd.polyjet.entity.ally.Laser;
import zero1hd.polyjet.entity.enemies.Bar;
import zero1hd.polyjet.entity.enemies.Flake;
import zero1hd.polyjet.entity.enemies.Pellet;
import zero1hd.polyjet.entity.enemies.Shard;
import zero1hd.polyjet.entity.enemies.VoidCircle;
@@ -24,9 +25,11 @@ public class EntityController {
private Pool<Pellet> pelletPool;
private Pool<Shard> shardPool;
private Pool<Bar> barPool;
private Pool<Flake> flakePool;
//Ally pool declaration;
private Pool<Laser> laserPool;
public EntityController(AssetManager assetManager, ShapeRenderer shapeRenderer) {
activeAllies = new Array<Entity>();
activeEnemies = new Array<Entity>();
@@ -60,6 +63,12 @@ public class EntityController {
return new Bar(assets.get("bar.png", Texture.class));
}
};
flakePool = new Pool<Flake>() {
@Override
protected Flake newObject() {
return new Flake(assets.get("flake.png", Texture.class));
}
};
//Ally pool initialization;
laserPool = new Pool<Laser>() {
@@ -93,42 +102,47 @@ public class EntityController {
Bar bar = barPool.obtain();
activeEnemies.add(bar);
return bar;
case FLAKE:
Flake flake = flakePool.obtain();
activeEnemies.add(flake);
return flake;
default:
return null;
}
}
public void free(Entity entity) {
activeEnemies.removeValue(entity, true);
switch (entity.getEntityType()) {
case VOID_CIRCLE:
VoidCircle voidCircle = (VoidCircle) entity;
voidCircle.remove();
activeEnemies.removeValue(entity, true);
voidCirclePool.free(voidCircle);
break;
case LASER:
Laser laser = (Laser) entity;
laser.remove();
activeAllies.removeValue(entity, true);
laserPool.free(laser);
break;
case PELLET:
Pellet pellet = (Pellet) entity;
pellet.remove();
activeEnemies.removeValue(entity, true);
pelletPool.free(pellet);
break;
case SHARD:
Shard shard = (Shard) entity;
shard.remove();
activeEnemies.removeValue(entity, true);
shardPool.free(shard);
break;
case BAR:
Bar bar = (Bar) entity;
bar.remove();
activeEnemies.removeValue(entity, true);
barPool.free(bar);
break;
case FLAKE:
Flake flake = (Flake) entity;
flake.remove();
flakePool.free(flake);
default:
break;
}