description setting owo

This commit is contained in:
Sharlotte
2021-07-16 13:37:14 +09:00
parent 281b07351c
commit 39c55da03e
5 changed files with 62 additions and 36 deletions

View File

@@ -45,6 +45,6 @@ shows every units' hp, ammo, shield by bar under each unit.
## Setting ## Setting
can toggle display on/off ingame, set some ui opacity etc. 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 - [x] separate setting because it's too many
- [ ] add its description - [x] add its description

View File

@@ -18,26 +18,39 @@ shar-stat.waveItem = [lightgray]item:[]
# Settings # Settings
setting.wavesetting.name = Wave UI Setting setting.wavesetting.name = Wave UI Setting
setting.opacitysetting.name = Opacity Setting setting.opacitysetting.name = Opacity Setting
setting.pastwave.name = Display previous wave 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.emptywave.name = Display empty wave
setting.ssim.name = Change Bar style [lightgray](made by ssim)[] setting.emptywave.description = shows empty wave on wave tap ingame.
setting.select.name = Display select Arrow
setting.gaycursor.name = Enable mouse trail effect. [lightgray](only for desktop)[]
setting.wavemax.name = Wave Amount to display setting.wavemax.name = Wave Amount to display
setting.rangemax.name = Block Scan Range setting.wavemax.description = set displayed wave amount of wave tap,\ntype number to tap pencil button.
setting.scan.name = Display block scanner
setting.range.name = Display turret range by block scanner 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.infoui.name = Display info UI
setting.weaponui.name = Display weapon info UI setting.weaponui.name = Display weapon info UI
setting.select.name = Display select Arrow
setting.unithealthui.name = Display Unit Bar setting.unithealthui.name = Display Unit Bar
setting.selectopacity.name = Select Arrow Opacity setting.ssim.name = Change Bar style [lightgray](made by ssim)[]
setting.baropacity.name = Health Bar Opacity setting.gaycursor.name = Enable mouse trail effect. [lightgray](only for desktop)[]
setting.uiopacity.name = UI background Opacity
#Dialog #Dialog
editmaxwave = edit waves(int) editmaxwave = edit waves(int)
editrange = edit scan range(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[] warn = [red]Warning[]
warning = displayed wave amount is too high! it may cause lags. warning = displayed wave amount is too high! it may cause lags.

View File

@@ -18,26 +18,41 @@ shar-stat.waveItem = [lightgray]아이템:[]
# Settings # Settings
setting.wavesetting.name = 단계 UI 설정 setting.wavesetting.name = 단계 UI 설정
setting.opacitysetting.name = 투명도 설정 setting.opacitysetting.name = 투명도 설정
setting.pastwave.name = 이전 웨이브 표시
setting.emptywave.name = 빈 웨이브 표시 setting.pastwave.name = 이전 단계 표시
setting.ssim.name = 바 스타일 변경 [lightgray](ssim님이 만듬)[] setting.pastwave.description = 인게임 단계 탭에서 이전 단계도 표시합니다. 현재 단계는 빨간색으로 강조됩니다.
setting.select.name = 선택 화살표 표시 setting.emptywave.name = 빈 단계 표시
setting.gaycursor.name = 마우스 꼬리효과 [lightgray](PC 전용)[] setting.emptywave.description = 인게임 단계 탭에서 빈 단계도 표시합니다.
setting.wavemax.name = 표시할 단계 수 setting.wavemax.name = 표시할 단계 수
setting.rangemax.name = 블록 스캔 사거리 setting.wavemax.description = 연필 아이콘을 눌러서 인게임 단계 탭에서 표시될 최대 웨이브 수를 설정합니다.
setting.scan.name = 블록 스캐너 표시
setting.range.name = 블록 스캐너로 포탑 사거리 표시
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.infoui.name = 정보 UI 표시
setting.weaponui.name = 무기 정보 UI 표시 setting.weaponui.name = 무기 정보 UI 표시
setting.select.name = 선택 화살표 표시
setting.unithealthui.name = 유닛 바 표시 setting.unithealthui.name = 유닛 바 표시
setting.selectopacity.name = 선택 화살표 투명도 setting.ssim.name = 바 스타일 변경 [lightgray](ssim님이 만듬)[]
setting.baropacity.name = 유닛 바 투명도 setting.gaycursor.name = 마우스 꼬리효과 [lightgray](PC 전용)[]
setting.uiopacity.name = UI 배경 투명도
#Dialog #Dialog
editmaxwave = 최대 단계 수정하기(정수) editmaxwave = 최대 단계 수정하기(정수)
editrange = 스캔 사거리 수정하기(정수) editrange = 스캔 사거리 수정하기(정수)
invalid = 잘못된 숫자 형식이거나 최대값(2147483647)을 넘겼습니다. 기본값으로 돌아갑니다(25). invalid = 잘못된 숫자 형식이거나 최대값(2147483647)을 넘겼습니다.\n기본값으로 돌아갑니다(25).
warn = [red]경고![] warn = [red]경고![]
warning = 표시될 웨이브 수가 너무 많습니다! 많은 랙이 걸릴 수 있습니다. warning = 표시될 웨이브 수가 너무 많습니다! 많은 랙이 걸릴 수 있습니다.

View File

@@ -8,7 +8,6 @@ import arc.graphics.g2d.*;
import arc.input.KeyCode; import arc.input.KeyCode;
import arc.math.*; import arc.math.*;
import arc.scene.*; import arc.scene.*;
import arc.scene.event.ClickListener;
import arc.scene.event.HandCursorListener; import arc.scene.event.HandCursorListener;
import arc.scene.style.*; import arc.scene.style.*;
import arc.scene.ui.*; import arc.scene.ui.*;
@@ -29,9 +28,7 @@ import mindustry.type.*;
import mindustry.ui.*; import mindustry.ui.*;
import mindustry.world.*; import mindustry.world.*;
import mindustry.world.blocks.defense.turrets.*; import mindustry.world.blocks.defense.turrets.*;
import mindustry.world.blocks.power.*;
import mindustry.world.blocks.storage.*; import mindustry.world.blocks.storage.*;
import mindustry.world.consumers.*;
import static arc.Core.*; import static arc.Core.*;
import static mindustry.Vars.*; import static mindustry.Vars.*;
@@ -73,7 +70,7 @@ public class HudUi {
public @Nullable Tile getTile(){ public @Nullable Tile getTile(){
return Vars.world.tileWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY()); return Vars.world.tileWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY());
}; }
public void setEvent(){ public void setEvent(){
Events.run(EventType.Trigger.draw, () -> { Events.run(EventType.Trigger.draw, () -> {
@@ -83,7 +80,7 @@ public class HudUi {
for(int i = 0; i < 4; i++){ for(int i = 0; i < 4; i++){
float rot = i * 90f + 45f + (-Time.time) % 360f; float rot = i * 90f + 45f + (-Time.time) % 360f;
float length = unit.hitSize * 1.5f + 2.5f; 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.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(); Draw.reset();
} }
@@ -414,9 +411,7 @@ public class HudUi {
t.left(); t.left();
t.add(new Image(){{ t.add(new Image(){{
update(() -> { update(() -> setDrawable(getUnit().stack.item == null || getUnit().stack.amount <= 0 ? Core.atlas.find("clear") : getUnit().stack.item.uiIcon));
setDrawable(getUnit().stack.item == null || getUnit().stack.amount <= 0 ? Core.atlas.find("clear") : getUnit().stack.item.uiIcon);
});
} }
@Override @Override

View File

@@ -8,10 +8,10 @@ import arc.scene.ui.layout.*;
import arc.struct.Seq; import arc.struct.Seq;
import arc.util.*; import arc.util.*;
import mindustry.*; import mindustry.*;
import mindustry.game.Team;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.ui.Styles; import mindustry.ui.Styles;
import mindustry.ui.dialogs.*; import mindustry.ui.dialogs.*;
import sun.tools.jconsole.Tab;
import java.util.Iterator; import java.util.Iterator;
@@ -40,6 +40,7 @@ public class Setting {
public void add(SettingsMenuDialog.SettingsTable table){ public void add(SettingsMenuDialog.SettingsTable table){
Slider slider = new Slider(min, max, step, false); 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)); slider.setValue(settings.getInt(name));
Label value = new Label(""); Label value = new Label("");
@@ -73,6 +74,7 @@ public class Setting {
@Override @Override
public void add(SettingsMenuDialog.SettingsTable table) { public void add(SettingsMenuDialog.SettingsTable table) {
CheckBox box = new CheckBox(title); 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))); box.update(() -> box.setChecked(settings.getBool(name)));
@@ -207,10 +209,11 @@ public class Setting {
} }
}).size(40f)); }).size(40f));
settingsTable.table((t) -> { settingsTable.table(t -> {
t.left().defaults().left(); t.left().defaults().left();
t.add(label).minWidth(label.getPrefWidth() / Scl.scl(1.0F) + 50.0F); t.add(label).minWidth(label.getPrefWidth() / Scl.scl(1.0F) + 50.0F);
t.add(button).size(40F); 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); }).left().padTop(3.0F);
settingsTable.row(); settingsTable.row();
} }
@@ -218,7 +221,7 @@ public class Setting {
} }
public void addGraphicDialogSetting(String key, Seq<SettingsMenuDialog.SettingsTable.Setting> list, SettingsMenuDialog.SettingsTable table){ public void addGraphicDialogSetting(String key, Seq<SettingsMenuDialog.SettingsTable.Setting> list, SettingsMenuDialog.SettingsTable table){
ui.settings.graphics.pref(new SettingsMenuDialog.SettingsTable.Setting() { ui.settings.graphics.pref(new SettingsMenuDialog.SettingsTable.Setting() {
{ {
name = key; name = key;
title = Core.bundle.get("setting." + key + ".name"); title = Core.bundle.get("setting." + key + ".name");
@@ -238,7 +241,7 @@ public class Setting {
table.button(Core.bundle.get("settings.reset", "Reset to Defaults"), () -> { table.button(Core.bundle.get("settings.reset", "Reset to Defaults"), () -> {
Iterator var2 = list.iterator(); Iterator var2 = list.iterator();
while(var1.hasNext()) { while(var2.hasNext()) {
SettingsMenuDialog.SettingsTable.Setting setting = (SettingsMenuDialog.SettingsTable.Setting)var1.next(); SettingsMenuDialog.SettingsTable.Setting setting = (SettingsMenuDialog.SettingsTable.Setting)var1.next();
if (setting.name != null && setting.title != null) { if (setting.name != null && setting.title != null) {
Core.settings.put(setting.name, Core.settings.getDefault(setting.name)); Core.settings.put(setting.name, Core.settings.getDefault(setting.name));