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

@ -18,7 +18,7 @@ abstract class BlockUnitComp implements Unitc{
//sets up block stats
maxHealth(tile.block.health);
health(tile.health());
health(tile.health);
hitSize(tile.block.size * tilesize * 0.7f);
set(tile);
}

View file

@ -1062,7 +1062,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
for(int i = 0; i < Mathf.clamp(amount / 5, 0, 30); i++){
Time.run(i / 2f, () -> {
Tile other = world.tile(tileX() + Mathf.range(block.size / 2), tileY() + Mathf.range(block.size / 2));
Tile other = world.tileWorld(x + Mathf.range(block.size * tilesize / 2), y + Mathf.range(block.size * tilesize / 2));
if(other != null){
Puddles.deposit(other, liquid, splash);
}

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);