Difficulty indicator for sectors / Power sense FPS scale

This commit is contained in:
Anuken
2020-09-11 10:42:16 -04:00
parent 5373011058
commit 83d9bd7d81
26 changed files with 46 additions and 8 deletions

View File

@@ -1219,10 +1219,10 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
if(sensor == LAccess.itemCapacity) return block.itemCapacity;
if(sensor == LAccess.liquidCapacity) return block.liquidCapacity;
if(sensor == LAccess.powerCapacity) return block.consumes.hasPower() ? block.consumes.getPower().capacity : 0f;
if(sensor == LAccess.powerNetIn && power != null) return power.graph.getPowerProduced();
if(sensor == LAccess.powerNetOut && power != null) return power.graph.getPowerNeeded();
if(sensor == LAccess.powerNetIn && power != null) return power.graph.getLastScaledPowerIn() * 60;
if(sensor == LAccess.powerNetOut && power != null) return power.graph.getLastScaledPowerOut() * 60;
if(sensor == LAccess.powerNetStored && power != null) return power.graph.getLastPowerStored();
if(sensor == LAccess.powerNetCapacity && power != null) return power.graph.getBatteryCapacity();
if(sensor == LAccess.powerNetCapacity && power != null) return power.graph.getLastCapacity();
return 0;
}

View File

@@ -10,8 +10,8 @@ public class LegacyIO{
/** Maps old unit names to new ones. */
public static final StringMap unitMap = StringMap.of(
"titan", "mace",
"chaos-array", "vestige",
"eradicator", "cataclyst",
"chaos-array", "scepter",
"eradicator", "reign",
"eruptor", "atrax",
"wraith", "flare",
"ghoul", "horizon",

View File

@@ -306,6 +306,9 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
stable.add("[accent]" + (sector.preset == null ? sector.id : sector.preset.localizedName)).row();
stable.image().color(Pal.accent).fillX().height(3f).pad(3f).row();
stable.add(sector.save != null ? sector.save.getPlayTime() : "@sectors.unexplored").row();
if(sector.hasWaves() || sector.hasEnemyBase()){
stable.add("[accent]Difficulty: " + (int)(sector.baseCoverage * 10)).row();
}
if(sector.hasBase() && sector.hasWaves()){
//TODO localize when finalized

View File

@@ -20,6 +20,7 @@ public class PowerGraph{
private final WindowedMean powerBalance = new WindowedMean(60);
private float lastPowerProduced, lastPowerNeeded, lastUsageFraction, lastPowerStored;
private float lastScaledPowerIn, lastScaledPowerOut, lastCapacity;
private long lastFrameUpdated = -1;
private final int graphID;
@@ -33,6 +34,18 @@ public class PowerGraph{
return graphID;
}
public float getLastScaledPowerIn(){
return lastScaledPowerIn;
}
public float getLastScaledPowerOut(){
return lastScaledPowerOut;
}
public float getLastCapacity(){
return lastCapacity;
}
public float getPowerBalance(){
return powerBalance.mean();
}
@@ -200,6 +213,11 @@ public class PowerGraph{
lastPowerNeeded = powerNeeded;
lastPowerProduced = powerProduced;
lastScaledPowerIn = powerProduced / Time.delta;
lastScaledPowerOut = powerNeeded / Time.delta;
lastCapacity = getTotalBatteryCapacity();
lastPowerStored = getBatteryStored();
powerBalance.add((lastPowerProduced - lastPowerNeeded) / Time.delta);

View File

@@ -111,9 +111,9 @@ public class PowerNode extends PowerBlock{
bars.add("batteries", entity -> new Bar(() ->
Core.bundle.format("bar.powerstored",
(UI.formatAmount((int)entity.power.graph.getLastPowerStored())), UI.formatAmount((int)entity.power.graph.getTotalBatteryCapacity())),
(UI.formatAmount((int)entity.power.graph.getLastPowerStored())), UI.formatAmount((int)entity.power.graph.getLastCapacity())),
() -> Pal.powerBar,
() -> Mathf.clamp(entity.power.graph.getLastPowerStored() / entity.power.graph.getTotalBatteryCapacity())));
() -> Mathf.clamp(entity.power.graph.getLastPowerStored() / entity.power.graph.getLastCapacity())));
}
@Override