Merged Unit & Builder components / Cleanup

This commit is contained in:
Anuken
2020-11-17 19:40:18 -05:00
parent 8280166485
commit 527be41e32
38 changed files with 152 additions and 125 deletions

View File

@@ -321,13 +321,8 @@ public class LExecutor{
((LogicAI)unit.controller()).controller = exec.building(varThis);
//clear old state
if(unit instanceof Minerc miner){
miner.mineTile(null);
}
if(unit instanceof Builderc builder){
builder.clearBuilding();
}
unit.mineTile = null;
unit.clearBuilding();
return (LogicAI)unit.controller();
}
@@ -357,12 +352,8 @@ public class LExecutor{
//stop mining/building
if(type == LUnitControl.stop){
if(unit instanceof Minerc miner){
miner.mineTile(null);
}
if(unit instanceof Builderc build){
build.clearBuilding();
}
unit.mineTile = null;
unit.clearBuilding();
}
}
case within -> {
@@ -390,8 +381,8 @@ public class LExecutor{
}
case mine -> {
Tile tile = world.tileWorld(x1, y1);
if(unit instanceof Minerc miner){
miner.mineTile(miner.validMine(tile) ? tile : null);
if(unit.canMine()){
unit.mineTile = unit.validMine(tile) ? tile : null;
}
}
case payDrop -> {
@@ -432,12 +423,12 @@ public class LExecutor{
}
}
case build -> {
if(unit instanceof Builderc builder && exec.obj(p3) instanceof Block block){
if(unit.canBuild() && exec.obj(p3) instanceof Block block){
int x = World.toTile(x1), y = World.toTile(y1);
int rot = exec.numi(p4);
//reset state of last request when necessary
if(ai.plan.x != x || ai.plan.y != y || ai.plan.block != block || builder.plans().isEmpty()){
if(ai.plan.x != x || ai.plan.y != y || ai.plan.block != block || unit.plans.isEmpty()){
ai.plan.progress = 0;
ai.plan.initialized = false;
ai.plan.stuck = false;
@@ -446,11 +437,11 @@ public class LExecutor{
ai.plan.set(x, y, rot, block);
ai.plan.config = exec.obj(p5) instanceof Content c ? c : null;
builder.clearBuilding();
unit.clearBuilding();
if(ai.plan.tile() != null){
builder.updateBuilding(true);
builder.addBuild(ai.plan);
unit.updateBuilding = true;
unit.addBuild(ai.plan);
}
}
}