From 16a4a699ca8569f76af31a9de475446f079b56a2 Mon Sep 17 00:00:00 2001 From: sharlotte Date: Sun, 8 Aug 2021 15:23:12 +0900 Subject: [PATCH] ui scale --- assets/bundles/bundle.properties | 2 + assets/bundles/bundle_ko.properties | 2 + src/UnitInfo/SVars.java | 3 + src/UnitInfo/core/HudUi.java | 155 ++++++++++++++----------- src/UnitInfo/core/Main.java | 4 +- src/UnitInfo/core/SettingS.java | 1 + src/UnitInfo/ui/CoresItemsDisplay.java | 20 ++-- src/UnitInfo/ui/SBar.java | 16 ++- 8 files changed, 122 insertions(+), 81 deletions(-) diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index 4279b54..b5740f0 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -24,6 +24,8 @@ shar-stat.waveItem = [lightgray]Item:[] setting.wavesetting.name = Wave UI Setting setting.opacitysetting.name = Opacity Setting +setting.infoUiScale.name = Info UI Scaling +setting.infoUiScale.description = set scale for info ui on left-side. setting.pastwave.name = Display Previous Wave setting.pastwave.description = toggle to shows previous wave on wave info ingame.\nCurrent wave is highlighted with red. setting.emptywave.name = Display Empty Wave diff --git a/assets/bundles/bundle_ko.properties b/assets/bundles/bundle_ko.properties index 9e1dcf8..2727184 100644 --- a/assets/bundles/bundle_ko.properties +++ b/assets/bundles/bundle_ko.properties @@ -24,6 +24,8 @@ shar-stat.waveItem = [lightgray]아이템:[] setting.wavesetting.name = 단계 UI 설정 setting.opacitysetting.name = 투명도 설정 +setting.infoUiScale.name = 정보 UI 스케일링 +setting.infoUiScale.description = 인게임 좌측 정보 UI의 크기를 설정합니다. setting.pastwave.name = 이전 단계 표시 setting.pastwave.description = 인게임 단계 탭에서 이전 단계도 표시합니다. 현재 단계는 빨간색으로 강조됩니다. setting.emptywave.name = 빈 단계 표시 diff --git a/src/UnitInfo/SVars.java b/src/UnitInfo/SVars.java index dd9635c..d5a7761 100644 --- a/src/UnitInfo/SVars.java +++ b/src/UnitInfo/SVars.java @@ -6,6 +6,7 @@ import arc.graphics.g2d.TextureRegion; import arc.struct.*; import static arc.Core.atlas; +import static arc.Core.settings; import static mindustry.Vars.*; public class SVars { @@ -17,4 +18,6 @@ public class SVars { public static PlayerParser playerinfo = new PlayerParser(); public static TextureRegion clear = atlas.find("clear"); + + public static float modUiScale = (settings.getInt("infoUiScale") / 100f == 0 ? 1 : settings.getInt("infoUiScale") / 100f); } diff --git a/src/UnitInfo/core/HudUi.java b/src/UnitInfo/core/HudUi.java index 6576d8f..608e669 100644 --- a/src/UnitInfo/core/HudUi.java +++ b/src/UnitInfo/core/HudUi.java @@ -37,6 +37,7 @@ import mindustry.world.blocks.power.PowerNode; import mindustry.world.blocks.storage.*; import static UnitInfo.SVars.clear; +import static UnitInfo.SVars.modUiScale; import static arc.Core.*; import static mindustry.Vars.*; @@ -271,6 +272,11 @@ public class HudUi { }); Events.run(EventType.Trigger.update, ()->{ + if(modUiScale != settings.getInt("infoUiScale") / 100f && settings.getInt("infoUiScale") / 100f != 0){ + modUiScale = settings.getInt("infoUiScale") / 100f; + mainTable.clearChildren(); + addTable(); + } if((input.keyDown(KeyCode.shiftRight) || input.keyDown(KeyCode.shiftLeft))){ if(input.keyTap(KeyCode.r)) lockButton.change(); } @@ -365,8 +371,8 @@ public class HudUi { fontColor = Color.white; background = Styles.black8; }}); - - Table labelTable = new Table(t -> t.add(label).scaling(Scaling.fit).left().padRight(40 * 8f)); + if(modUiScale < 1) label.setFontScale(Scl.scl(modUiScale)); + Table labelTable = new Table(t -> t.add(label).left().padRight(Scl.scl(modUiScale) * 40 * 8f)); table.table(t -> { Seq