Minor power tweaks

This commit is contained in:
Anuken
2019-11-19 19:52:15 -05:00
parent cc7aaae52c
commit 8daaea3536
3 changed files with 20 additions and 19 deletions

View File

@ -58,8 +58,8 @@ public class PowerDiode extends Block{
public void setBars(){ public void setBars(){
super.setBars(); super.setBars();
bars.add("back", entity -> new Bar("bar.input", Pal.lighterOrange, () -> bar(entity.tile.back())) ); bars.add("back", entity -> new Bar("bar.input", Pal.powerBar, () -> bar(entity.tile.back())));
bars.add("front", entity -> new Bar("bar.output", Pal.lighterOrange, () -> bar(entity.tile.front())) ); bars.add("front", entity -> new Bar("bar.output", Pal.powerBar, () -> bar(entity.tile.front())));
} }
@Override @Override

View File

@ -1,11 +1,10 @@
package io.anuke.mindustry.world.blocks.power; package io.anuke.mindustry.world.blocks.power;
import io.anuke.arc.Core; import io.anuke.arc.*;
import io.anuke.arc.collection.*; import io.anuke.arc.collection.*;
import io.anuke.arc.math.Mathf; import io.anuke.arc.math.*;
import io.anuke.arc.math.WindowedMean; import io.anuke.arc.util.*;
import io.anuke.arc.util.Time; import io.anuke.mindustry.world.*;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.consumers.*; import io.anuke.mindustry.world.consumers.*;
public class PowerGraph{ public class PowerGraph{
@ -181,6 +180,7 @@ public class PowerGraph{
tile.entity.power.status = 1f; tile.entity.power.status = 1f;
} }
lastPowerNeeded = lastPowerProduced = 1f;
return; return;
} }
@ -192,21 +192,22 @@ public class PowerGraph{
lastPowerNeeded = powerNeeded; lastPowerNeeded = powerNeeded;
lastPowerProduced = powerProduced; lastPowerProduced = powerProduced;
powerBalance.addValue((powerProduced - powerNeeded) / Time.delta()); if(!(consumers.size == 0 && producers.size == 0 && batteries.size == 0)){
if(consumers.size == 0 && producers.size == 0 && batteries.size == 0){ if(!Mathf.equal(powerNeeded, powerProduced)){
return; if(powerNeeded > powerProduced){
} float powerBatteryUsed = useBatteries(powerNeeded - powerProduced);
powerProduced += powerBatteryUsed;
if(!Mathf.equal(powerNeeded, powerProduced)){ lastPowerProduced += powerBatteryUsed;
if(powerNeeded > powerProduced){ }else if(powerProduced > powerNeeded){
powerProduced += useBatteries(powerNeeded - powerProduced); powerProduced -= chargeBatteries(powerProduced - powerNeeded);
}else if(powerProduced > powerNeeded){ }
powerProduced -= chargeBatteries(powerProduced - powerNeeded);
} }
distributePower(powerNeeded, powerProduced);
} }
distributePower(powerNeeded, powerProduced); powerBalance.addValue((lastPowerProduced - lastPowerNeeded) / Time.delta());
} }
public void add(PowerGraph graph){ public void add(PowerGraph graph){

View File

@ -91,7 +91,7 @@ public class PowerNode extends PowerBlock{
Core.bundle.format("bar.powerbalance", Core.bundle.format("bar.powerbalance",
((entity.power.graph.getPowerBalance() >= 0 ? "+" : "") + Strings.fixed(entity.power.graph.getPowerBalance() * 60, 1))), ((entity.power.graph.getPowerBalance() >= 0 ? "+" : "") + Strings.fixed(entity.power.graph.getPowerBalance() * 60, 1))),
() -> Pal.powerBar, () -> Pal.powerBar,
() -> Mathf.clamp(entity.power.graph.getPowerProduced() / entity.power.graph.getPowerNeeded()))); () -> Mathf.clamp(entity.power.graph.getLastPowerProduced() / entity.power.graph.getLastPowerNeeded())));
bars.add("batteries", entity -> new Bar(() -> bars.add("batteries", entity -> new Bar(() ->
Core.bundle.format("bar.powerstored", Core.bundle.format("bar.powerstored",