From cb4ecbd4b8f7f835cd27efe5d73207c34ba34830 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 26 Mar 2020 18:25:10 -0400 Subject: [PATCH] Implemented % tile efficiency display --- core/src/mindustry/world/meta/BlockStats.java | 4 +-- .../meta/values/FloorEfficiencyValue.java | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 core/src/mindustry/world/meta/values/FloorEfficiencyValue.java diff --git a/core/src/mindustry/world/meta/BlockStats.java b/core/src/mindustry/world/meta/BlockStats.java index 122ec2bd11..de7ac8d5b7 100644 --- a/core/src/mindustry/world/meta/BlockStats.java +++ b/core/src/mindustry/world/meta/BlockStats.java @@ -39,8 +39,8 @@ public class BlockStats{ public void add(BlockStat stat, Attribute attr){ for(Block block : Vars.content.blocks()){ - if(!block.isFloor() || block.asFloor().attributes.get(attr) <= 0) continue; - add(stat, new FloorValue(block.asFloor())); + if(!block.isFloor() || block.asFloor().attributes.get(attr) == 0) continue; + add(stat, new FloorEfficiencyValue(block.asFloor(), block.asFloor().attributes.get(attr))); } } diff --git a/core/src/mindustry/world/meta/values/FloorEfficiencyValue.java b/core/src/mindustry/world/meta/values/FloorEfficiencyValue.java new file mode 100644 index 0000000000..619598a230 --- /dev/null +++ b/core/src/mindustry/world/meta/values/FloorEfficiencyValue.java @@ -0,0 +1,25 @@ +package mindustry.world.meta.values; + +import arc.scene.ui.*; +import arc.scene.ui.layout.*; +import arc.util.*; +import mindustry.ui.*; +import mindustry.world.blocks.environment.*; +import mindustry.world.meta.*; + +public class FloorEfficiencyValue implements StatValue{ + private final Floor floor; + private final float multiplier; + + public FloorEfficiencyValue(Floor floor, float multiplier){ + this.floor = floor; + this.multiplier = multiplier; + } + + @Override + public void display(Table table){ + table.stack(new Image(floor.icon(Cicon.medium)).setScaling(Scaling.fit), new Table(t -> { + t.top().right().add((multiplier < 0 ? "[scarlet]" : "[accent]+") + (int)((multiplier) * 100) + "%").style(Styles.outlineLabel); + })); + } +}