diff --git a/README.md b/README.md index 936f31b..db67d8c 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,6 @@ shows every units' hp, ammo, shield by bar under each unit. ## Setting can toggle display on/off ingame, set some ui opacity etc. -- [ ] improve setting ui +- [x] improve setting ui - [x] separate setting because it's too many - - [ ] add its description \ No newline at end of file + - [x] add its description \ No newline at end of file diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index 3ed14f9..201f4ee 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -18,26 +18,39 @@ shar-stat.waveItem = [lightgray]item:[] # Settings setting.wavesetting.name = Wave UI Setting setting.opacitysetting.name = Opacity Setting + setting.pastwave.name = Display previous wave +setting.pastwave.description = shows previous wave on wave tap ingame.\ncurrent wave is highlighted with red. setting.emptywave.name = Display empty wave -setting.ssim.name = Change Bar style [lightgray](made by ssim)[] -setting.select.name = Display select Arrow -setting.gaycursor.name = Enable mouse trail effect. [lightgray](only for desktop)[] +setting.emptywave.description = shows empty wave on wave tap ingame. setting.wavemax.name = Wave Amount to display -setting.rangemax.name = Block Scan Range -setting.scan.name = Display block scanner -setting.range.name = Display turret range by block scanner +setting.wavemax.description = set displayed wave amount of wave tap,\ntype number to tap pencil button. + +setting.selectopacity.name = Select Arrow Opacity +setting.selectopacity.description = set opacity of select arrow by slider. +setting.baropacity.name = Health Bar Opacity +setting.baropacity.description = set opacity of unit bar by slider. +setting.uiopacity.name = UI background Opacity +setting.uiopacity.description = set opacityof ui background by slider. + +setting.scan.name = Enable block scanner +setting.scan.description = enable scanner that shows nearly turret and wall hp. +setting.range.name = Display turret range +setting.range.description = enable scanner can show turret range too. +setting.rangemax.name = Block scanner range +setting.rangemax.description = set scan radius of scanner\ntype number to tap pencil button. + setting.infoui.name = Display info UI setting.weaponui.name = Display weapon info UI +setting.select.name = Display select Arrow setting.unithealthui.name = Display Unit Bar -setting.selectopacity.name = Select Arrow Opacity -setting.baropacity.name = Health Bar Opacity -setting.uiopacity.name = UI background Opacity +setting.ssim.name = Change Bar style [lightgray](made by ssim)[] +setting.gaycursor.name = Enable mouse trail effect. [lightgray](only for desktop)[] #Dialog editmaxwave = edit waves(int) editrange = edit scan range(int) -invalid = invalid number format or number is too large (<= 2147483647). number will be default(100). +invalid = invalid number format or number is too large (<= 2147483647).\nnumber will be default(100). warn = [red]Warning[] warning = displayed wave amount is too high! it may cause lags. diff --git a/assets/bundles/bundle_ko.properties b/assets/bundles/bundle_ko.properties index 9789fb3..e2ed4d8 100644 --- a/assets/bundles/bundle_ko.properties +++ b/assets/bundles/bundle_ko.properties @@ -18,26 +18,41 @@ shar-stat.waveItem = [lightgray]아이템:[] # Settings setting.wavesetting.name = 단계 UI 설정 setting.opacitysetting.name = 투명도 설정 -setting.pastwave.name = 이전 웨이브 표시 -setting.emptywave.name = 빈 웨이브 표시 -setting.ssim.name = 바 스타일 변경 [lightgray](ssim님이 만듬)[] -setting.select.name = 선택 화살표 표시 -setting.gaycursor.name = 마우스 꼬리효과 [lightgray](PC 전용)[] + +setting.pastwave.name = 이전 단계 표시 +setting.pastwave.description = 인게임 단계 탭에서 이전 단계도 표시합니다. 현재 단계는 빨간색으로 강조됩니다. +setting.emptywave.name = 빈 단계 표시 +setting.emptywave.description = 인게임 단계 탭에서 빈 단계도 표시합니다. setting.wavemax.name = 표시할 단계 수 -setting.rangemax.name = 블록 스캔 사거리 -setting.scan.name = 블록 스캐너 표시 -setting.range.name = 블록 스캐너로 포탑 사거리 표시 +setting.wavemax.description = 연필 아이콘을 눌러서 인게임 단계 탭에서 표시될 최대 웨이브 수를 설정합니다. + + +setting.scan.name = 블록 스캐너 활성화 +setting.scan.description = 주변 포탑과 벽의 체력을 표시하는 스캐터를 활성화합니다. +setting.range.name = 포탑 사거리 표시 +setting.range.description = 스캐터가 포탑 사거리도 표시하게 만듭니다. +setting.rangemax.name = 블록 스캐너 사거리 +setting.rangemax.description = 연필 아이콘을 눌러서 스캐너 사거리를 설정합니다. + + +setting.selectopacity.name = 선택 화살표 투명도 +setting.selectopacity.description = 슬라이더로 선택 화살표의 투명도를 조절합니다. +setting.baropacity.name = 유닛 바 투명도 +setting.baropacity.description = 슬라이더로 유닛 바의 투명도를 조절합니다. +setting.uiopacity.name = UI 배경 투명도 +setting.uiopacity.description = 슬라이더로 UI 배경 투명도를 조절합니다. + setting.infoui.name = 정보 UI 표시 setting.weaponui.name = 무기 정보 UI 표시 +setting.select.name = 선택 화살표 표시 setting.unithealthui.name = 유닛 바 표시 -setting.selectopacity.name = 선택 화살표 투명도 -setting.baropacity.name = 유닛 바 투명도 -setting.uiopacity.name = UI 배경 투명도 +setting.ssim.name = 바 스타일 변경 [lightgray](ssim님이 만듬)[] +setting.gaycursor.name = 마우스 꼬리효과 [lightgray](PC 전용)[] #Dialog editmaxwave = 최대 단계 수정하기(정수) editrange = 스캔 사거리 수정하기(정수) -invalid = 잘못된 숫자 형식이거나 최대값(2147483647)을 넘겼습니다. 기본값으로 돌아갑니다(25). +invalid = 잘못된 숫자 형식이거나 최대값(2147483647)을 넘겼습니다.\n기본값으로 돌아갑니다(25). warn = [red]경고![] warning = 표시될 웨이브 수가 너무 많습니다! 많은 랙이 걸릴 수 있습니다. diff --git a/src/UnitInfo/core/HudUi.java b/src/UnitInfo/core/HudUi.java index e3101b1..c9c67db 100644 --- a/src/UnitInfo/core/HudUi.java +++ b/src/UnitInfo/core/HudUi.java @@ -8,7 +8,6 @@ import arc.graphics.g2d.*; import arc.input.KeyCode; import arc.math.*; import arc.scene.*; -import arc.scene.event.ClickListener; import arc.scene.event.HandCursorListener; import arc.scene.style.*; import arc.scene.ui.*; @@ -29,9 +28,7 @@ import mindustry.type.*; import mindustry.ui.*; import mindustry.world.*; import mindustry.world.blocks.defense.turrets.*; -import mindustry.world.blocks.power.*; import mindustry.world.blocks.storage.*; -import mindustry.world.consumers.*; import static arc.Core.*; import static mindustry.Vars.*; @@ -73,7 +70,7 @@ public class HudUi { public @Nullable Tile getTile(){ return Vars.world.tileWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY()); - }; + } public void setEvent(){ Events.run(EventType.Trigger.draw, () -> { @@ -83,7 +80,7 @@ public class HudUi { for(int i = 0; i < 4; i++){ float rot = i * 90f + 45f + (-Time.time) % 360f; float length = unit.hitSize * 1.5f + 2.5f; - Draw.color(Tmp.c1.set(Color.orange).lerp(Color.scarlet, Mathf.absin(Time.time, 2f, 1f)).a(settings.getInt("uiopacity") / 100f)); + Draw.color(Tmp.c1.set(Color.orange).lerp(Color.scarlet, Mathf.absin(Time.time, 2f, 1f)).a(settings.getInt("selectopacity") / 100f)); Draw.rect("select-arrow", unit.x + Angles.trnsx(rot, length), unit.y + Angles.trnsy(rot, length), length / 1.9f, length / 1.9f, rot - 135f); Draw.reset(); } @@ -414,9 +411,7 @@ public class HudUi { t.left(); t.add(new Image(){{ - update(() -> { - setDrawable(getUnit().stack.item == null || getUnit().stack.amount <= 0 ? Core.atlas.find("clear") : getUnit().stack.item.uiIcon); - }); + update(() -> setDrawable(getUnit().stack.item == null || getUnit().stack.amount <= 0 ? Core.atlas.find("clear") : getUnit().stack.item.uiIcon)); } @Override diff --git a/src/UnitInfo/core/Setting.java b/src/UnitInfo/core/Setting.java index 25d0688..82d2443 100644 --- a/src/UnitInfo/core/Setting.java +++ b/src/UnitInfo/core/Setting.java @@ -8,10 +8,10 @@ import arc.scene.ui.layout.*; import arc.struct.Seq; import arc.util.*; import mindustry.*; +import mindustry.game.Team; import mindustry.gen.*; import mindustry.ui.Styles; import mindustry.ui.dialogs.*; -import sun.tools.jconsole.Tab; import java.util.Iterator; @@ -40,6 +40,7 @@ public class Setting { public void add(SettingsMenuDialog.SettingsTable table){ Slider slider = new Slider(min, max, step, false); + slider.addListener(new Tooltip(t -> t.background(Tex.button).table(to -> to.add("[lightgray]" + Core.bundle.get("setting." + key + ".description") + "[]")))); slider.setValue(settings.getInt(name)); Label value = new Label(""); @@ -73,6 +74,7 @@ public class Setting { @Override public void add(SettingsMenuDialog.SettingsTable table) { CheckBox box = new CheckBox(title); + box.addListener(new Tooltip(t -> t.background(Tex.button).table(to -> to.add("[lightgray]" + Core.bundle.get("setting." + key + ".description") + "[]")))); box.update(() -> box.setChecked(settings.getBool(name))); @@ -207,10 +209,11 @@ public class Setting { } }).size(40f)); - settingsTable.table((t) -> { + settingsTable.table(t -> { t.left().defaults().left(); t.add(label).minWidth(label.getPrefWidth() / Scl.scl(1.0F) + 50.0F); t.add(button).size(40F); + t.addListener(new Tooltip(tt -> tt.background(Tex.button).table(to -> to.add("[lightgray]" + Core.bundle.get("setting." + key + ".description") + "[]")))); }).left().padTop(3.0F); settingsTable.row(); } @@ -218,7 +221,7 @@ public class Setting { } public void addGraphicDialogSetting(String key, Seq list, SettingsMenuDialog.SettingsTable table){ - ui.settings.graphics.pref(new SettingsMenuDialog.SettingsTable.Setting() { + ui.settings.graphics.pref(new SettingsMenuDialog.SettingsTable.Setting() { { name = key; title = Core.bundle.get("setting." + key + ".name"); @@ -238,7 +241,7 @@ public class Setting { table.button(Core.bundle.get("settings.reset", "Reset to Defaults"), () -> { Iterator var2 = list.iterator(); - while(var1.hasNext()) { + while(var2.hasNext()) { SettingsMenuDialog.SettingsTable.Setting setting = (SettingsMenuDialog.SettingsTable.Setting)var1.next(); if (setting.name != null && setting.title != null) { Core.settings.put(setting.name, Core.settings.getDefault(setting.name));