From 87a84538714bed5a80ddc5a02b5647352c3f8496 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 30 Oct 2021 15:15:06 -0400 Subject: [PATCH] Beam node balance --- .../sprites/blocks/power/beam-node.png | Bin 591 -> 658 bytes .../world/blocks/power/BeamNode.java | 8 +++++ .../world/blocks/power/PowerNode.java | 33 +++++++++++------- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/core/assets-raw/sprites/blocks/power/beam-node.png b/core/assets-raw/sprites/blocks/power/beam-node.png index 0941fd74dd1198d163ebf63ce8b711eae3f39ee6..9df504d257c11c8d5ceef16bc61d87033736e4ed 100644 GIT binary patch delta 620 zcmX@lGKqD9VZD#1i(^Pc>(S}9-pq~yZTGG151c!4$W6d>8OIIIrre;+%-KOl+z#3+ zJdzjiQBKOtUO9D}SdzHM#F(yz&=%vREIvAiVJFCme%F^_h7S6u? z+t8Gc;c%Apa_Q-U-(?uq?SB6F=X9gre}1f3cQc#Wj6;#{*{RXdxka zNL)=!y!to$<1p>Qwg7t{#~C?|e-0@#DzbUaj$RSsbxyx{;z{iTM~o-(I3C;*#p$KK z*uGJvHzInDmXOPVC-0aOC%J9=?KWdZZBj+z3SRMMosL(%0up(8?2~8Pt`Id?A^Kt8 zuZMpbuUjsiEZBB+TN%S9iF(N^T(d5g<-1C6W}PdrwMgsSkp+`4x4snCO<~;C*60mAR1fR;FjJw2?r3$CAtSbF_Re zd^Gj6y>;&Rb=IWa+aEn`oKTmRmR4n~HfOH-F*-se>D{ryAo?8DE-bMNeT z)p+;e_1t<*|D=}U-BDk5d^_M8<0|H=e|_P}()Lw*oVF!pY?`{=^IhuAd8Q(VSlhH% zm+aqh;7ca=j-4?ZQ;b)0316E1P-px;LozJk3n38jLvTq2tV*bUCfwoR8sWO((S}!^O+1qj_<#&Bf(QOO}Z&%=FCHn%v`4}xWK|(&(vhk zc*e-qb<+Z~cGt5yD(Vk5T$bQ@l=tY;?XB0Z%O7X-zq_^e?eg{O-|wvoIPv;+^_nd9 zhUDtzz}iQFe;Ew!_C7wf$?+Tiuf22X)*WOy*xEGn-LaMXxO+Y%*K<1_Oi_$Ul=xp! zRoB_9u%&H+c$njh62`*Ea_tXz|J}8n<$J%%Ncv(VtB20xRK*YjM}b4~Zt9IK#?x-k z(eV=CQ~o2~!kPZ^Wp<*(&BZe}tl)dvtkRLwt7LE`g3C=}?|Qcz;mS4t|5@lKSRa#j zv)E?7lY7Fi6Z>X;Z#;gR{c-&wy+xml>lRC}GCE|>G*W2zf8l^ehf$)B`MVqUR2bJ@ zeLG>{TrkvM#w`aH9HjUi;OfEvpP}E;-V*b)U9nxQ_J#9aI{TXQSdfhYb^QPJ9x`*%Y zKg42ndc_(g<`s*!=q04_PPpBv%ahuw)1%v>By@!BSc%BmJoU0hh6a0$bk+~IJk-<~ Q7#J8lUHx3vIVCg!0M5(>hX4Qo diff --git a/core/src/mindustry/world/blocks/power/BeamNode.java b/core/src/mindustry/world/blocks/power/BeamNode.java index 32f5461556..528e146472 100644 --- a/core/src/mindustry/world/blocks/power/BeamNode.java +++ b/core/src/mindustry/world/blocks/power/BeamNode.java @@ -36,6 +36,14 @@ public class BeamNode extends PowerBlock{ envEnabled |= Env.space; } + @Override + public void setBars(){ + super.setBars(); + + bars.add("power", PowerNode.makePowerBalance()); + bars.add("batteries", PowerNode.makeBatteryBalance()); + } + @Override public void init(){ super.init(); diff --git a/core/src/mindustry/world/blocks/power/PowerNode.java b/core/src/mindustry/world/blocks/power/PowerNode.java index cbd378284b..4e5a5c1598 100644 --- a/core/src/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/mindustry/world/blocks/power/PowerNode.java @@ -100,19 +100,8 @@ public class PowerNode extends PowerBlock{ @Override public void setBars(){ super.setBars(); - bars.add("power", entity -> new Bar(() -> - Core.bundle.format("bar.powerbalance", - ((entity.power.graph.getPowerBalance() >= 0 ? "+" : "") + UI.formatAmount((long)(entity.power.graph.getPowerBalance() * 60)))), - () -> Pal.powerBar, - () -> Mathf.clamp(entity.power.graph.getLastPowerProduced() / entity.power.graph.getLastPowerNeeded()) - )); - - bars.add("batteries", entity -> new Bar(() -> - Core.bundle.format("bar.powerstored", - (UI.formatAmount((long)entity.power.graph.getLastPowerStored())), UI.formatAmount((long)entity.power.graph.getLastCapacity())), - () -> Pal.powerBar, - () -> Mathf.clamp(entity.power.graph.getLastPowerStored() / entity.power.graph.getLastCapacity()) - )); + bars.add("power", makePowerBalance()); + bars.add("batteries", makeBatteryBalance()); bars.add("connections", entity -> new Bar(() -> Core.bundle.format("bar.powerlines", entity.power.links.size, maxNodes), @@ -121,6 +110,24 @@ public class PowerNode extends PowerBlock{ )); } + public static Func makePowerBalance(){ + return entity -> new Bar(() -> + Core.bundle.format("bar.powerbalance", + ((entity.power.graph.getPowerBalance() >= 0 ? "+" : "") + UI.formatAmount((long)(entity.power.graph.getPowerBalance() * 60)))), + () -> Pal.powerBar, + () -> Mathf.clamp(entity.power.graph.getLastPowerProduced() / entity.power.graph.getLastPowerNeeded()) + ); + } + + public static Func makeBatteryBalance(){ + return entity -> new Bar(() -> + Core.bundle.format("bar.powerstored", + (UI.formatAmount((long)entity.power.graph.getLastPowerStored())), UI.formatAmount((long)entity.power.graph.getLastCapacity())), + () -> Pal.powerBar, + () -> Mathf.clamp(entity.power.graph.getLastPowerStored() / entity.power.graph.getLastCapacity()) + ); + } + @Override public void setStats(){ super.setStats();