Block cleanup

This commit is contained in:
Anuken
2021-10-17 22:40:21 -04:00
parent 3c963fb1bc
commit 324e5151aa
8 changed files with 28 additions and 27 deletions

View File

@@ -91,9 +91,7 @@ public class LiquidTurret extends Turret{
@Override
public void updateTile(){
if(unit != null){
unit.ammo(unit.type().ammoCapacity * liquids.currentAmount() / liquidCapacity);
}
unit.ammo(unit.type().ammoCapacity * liquids.currentAmount() / liquidCapacity);
super.updateTile();
}

View File

@@ -31,9 +31,7 @@ public class PowerTurret extends Turret{
@Override
public void updateTile(){
if(unit != null){
unit.ammo(power.status * unit.type().ammoCapacity);
}
unit.ammo(power.status * unit.type().ammoCapacity);
super.updateTile();
}

View File

@@ -149,15 +149,9 @@ public class Turret extends ReloadTurret{
public boolean logicShooting = false;
public @Nullable Posc target;
public Vec2 targetPos = new Vec2();
public @Nullable BlockUnitc unit;
public BlockUnitc unit = (BlockUnitc)UnitTypes.block.create(team);
public boolean wasShooting, charging;
@Override
public void created(){
unit = (BlockUnitc)UnitTypes.block.create(team);
unit.tile(this);
}
@Override
public boolean canControl(){
return playerControllable;
@@ -165,7 +159,7 @@ public class Turret extends ReloadTurret{
@Override
public void control(LAccess type, double p1, double p2, double p3, double p4){
if(type == LAccess.shoot && (unit == null || !unit.isPlayer())){
if(type == LAccess.shoot && !unit.isPlayer()){
targetPos.set(World.unconv((float)p1), World.unconv((float)p2));
logicControlTime = logicControlCooldown;
logicShooting = !Mathf.zero(p3);
@@ -203,15 +197,14 @@ public class Turret extends ReloadTurret{
}
public boolean isShooting(){
return (isControlled() ? (unit != null && unit.isShooting()) : logicControlled() ? logicShooting : target != null);
return (isControlled() ? unit.isShooting() : logicControlled() ? logicShooting : target != null);
}
@Override
public Unit unit(){
if(unit == null){
unit = (BlockUnitc)UnitTypes.block.create(team);
unit.tile(this);
}
//make sure stats are correct
unit.tile(this);
unit.team(team);
return (Unit)unit;
}
@@ -267,12 +260,9 @@ public class Turret extends ReloadTurret{
recoil = Mathf.lerpDelta(recoil, 0f, restitution);
heat = Mathf.lerpDelta(heat, 0f, cooldown);
if(unit != null){
unit.health(health);
unit.rotation(rotation);
unit.team(team);
unit.set(x, y);
}
unit.tile(this);
unit.rotation(rotation);
unit.team(team);
if(logicControlTime > 0){
logicControlTime -= Time.delta;

View File

@@ -52,6 +52,11 @@ public class AttributeCrafter extends GenericCrafter{
return baseEfficiency + Math.min(maxBoost, boostScale * attrsum) + attribute.env();
}
@Override
public void pickedUp(){
attrsum = 0f;
}
@Override
public void onProximityUpdate(){
super.onProximityUpdate();

View File

@@ -91,6 +91,11 @@ public class Pump extends LiquidBlock{
Drawf.liquid(liquidRegion, x, y, liquids.currentAmount() / liquidCapacity, liquids.current().color);
}
@Override
public void pickedUp(){
amount = 0f;
}
@Override
public void onProximityUpdate(){
super.onProximityUpdate();

View File

@@ -95,6 +95,11 @@ public class SolidPump extends Pump{
@Override
public void drawCracks(){}
@Override
public void pickedUp(){
boost = validTiles = 0f;
}
@Override
public void draw(){
Draw.rect(region, x, y);