Get rid of computed boolean

This commit is contained in:
Patrick 'Quezler' Mounier
2020-01-05 10:31:51 +01:00
parent 2948738e33
commit 4494503e6b

View File

@@ -63,7 +63,7 @@ public class CraterConveyor extends BaseConveyor{
public void drawLayer(Tile tile){ public void drawLayer(Tile tile){
CraterConveyorEntity entity = tile.ent(); CraterConveyorEntity entity = tile.ent();
if(!entity.crater) return; if(entity.link == Pos.invalid) return;
Tile from = world.tile(entity.link); Tile from = world.tile(entity.link);
Tmp.v1.set(from.getX(), from.getY()); Tmp.v1.set(from.getX(), from.getY());
@@ -103,17 +103,15 @@ public class CraterConveyor extends BaseConveyor{
entity.reload = Mathf.clamp(entity.reload - speed, 0f, 1f); entity.reload = Mathf.clamp(entity.reload - speed, 0f, 1f);
// ensure a crater exists below this block // ensure a crater exists below this block
if(!entity.crater){ if(entity.link == Pos.invalid){
// poof in crater // poof in crater
if(entity.items.total() <= 0 || entity.reload > 0) return; if(entity.items.total() <= 0 || entity.reload > 0) return;
Effects.effect(Fx.plasticburn, tile.drawx(), tile.drawy()); Effects.effect(Fx.plasticburn, tile.drawx(), tile.drawy());
entity.crater = true; entity.link = tile.pos();
entity.link = tile.back().pos();
}else{ }else{
// poof out crater // poof out crater
if(entity.items.total() == 0){ if(entity.items.total() == 0){
Effects.effect(Fx.plasticburn, tile.drawx(), tile.drawy()); Effects.effect(Fx.plasticburn, tile.drawx(), tile.drawy());
entity.crater = false;
entity.link = Pos.invalid; entity.link = Pos.invalid;
return; return;
} }
@@ -140,8 +138,8 @@ public class CraterConveyor extends BaseConveyor{
// check if next crater conveyor is not occupied // check if next crater conveyor is not occupied
if(e.items.total() == 0){ if(e.items.total() == 0){
// transfer ownership of crater // transfer ownership of crater
e.crater = true; entity.link = Pos.invalid;
entity.crater = false; e.link = tile.pos();
// prevent this tile from spawning a new crater to avoid collisions // prevent this tile from spawning a new crater to avoid collisions
entity.reload = 1; entity.reload = 1;
@@ -151,7 +149,6 @@ public class CraterConveyor extends BaseConveyor{
entity.items.clear(); entity.items.clear();
e.reload = 1; e.reload = 1;
e.link = tile.pos();
} }
} }
} }
@@ -161,9 +158,8 @@ public class CraterConveyor extends BaseConveyor{
class CraterConveyorEntity extends BaseConveyorEntity{ class CraterConveyorEntity extends BaseConveyorEntity{
float lastFrameUpdated = -1; float lastFrameUpdated = -1;
int link = Pos.invalid; int link;
float reload; float reload;
boolean crater;
@Override @Override
public void write(DataOutput stream) throws IOException{ public void write(DataOutput stream) throws IOException{
@@ -171,7 +167,6 @@ public class CraterConveyor extends BaseConveyor{
stream.writeInt(link); stream.writeInt(link);
stream.writeFloat(reload); stream.writeFloat(reload);
stream.writeBoolean(crater);
} }
@Override @Override
@@ -180,7 +175,6 @@ public class CraterConveyor extends BaseConveyor{
link = stream.readInt(); link = stream.readInt();
reload = stream.readFloat(); reload = stream.readFloat();
crater = stream.readBoolean();
} }
public Item dominant(){ public Item dominant(){