began work on flake entity
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user