From b962498a129bc1e57699ca0cd3880a1161f7973c Mon Sep 17 00:00:00 2001 From: sharlottes <60801210+sharlottes@users.noreply.github.com> Date: Thu, 27 May 2021 23:04:59 +0900 Subject: [PATCH] gay cursorrrrrrrrrrrrr --- assets/bundles/bundle.properties | 8 ++++++- assets/bundles/bundle_ko.properties | 8 ++++++- src/UnitInfo/core/HudUi.java | 37 ++++++++++++++++++++++------- src/UnitInfo/core/Main.java | 18 ++++++++------ src/UnitInfo/core/Setting.java | 2 ++ 5 files changed, 55 insertions(+), 18 deletions(-) diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index 9ba1abd..fee355d 100644 --- a/assets/bundles/bundle.properties +++ b/assets/bundles/bundle.properties @@ -12,6 +12,7 @@ shar-stat.liquidAmmo = Liquid: {0} shar-stat.power = Power: {0} / {1} # Settings +setting.gaycursor.name = Enable mouse trail effect. only for desktop setting.wavemax.name = Wave Amount to display setting.rangemax.name = Block Scan Range setting.panfix.name = Hold camera position for core camera ui. [lightgray](It shakes a lot when the player moves.)[] @@ -32,4 +33,9 @@ editmaxwave = edit waves(int) editrange = edit scan range(int) invalid = invalid number format or number is too large (<= 2147483647). number will be default(100). warn = [red]Warning[] -warning = displayed wave amount is too high! it may cause lags. \ No newline at end of file +warning = displayed wave amount is too high! it may cause lags. + +#Hud +hud.unit = Unit Info +hud.wave = Wave Info +hud.core = Core Info \ No newline at end of file diff --git a/assets/bundles/bundle_ko.properties b/assets/bundles/bundle_ko.properties index c075901..4adeb03 100644 --- a/assets/bundles/bundle_ko.properties +++ b/assets/bundles/bundle_ko.properties @@ -12,6 +12,7 @@ shar-stat.liquidAmmo = 액체: {0} shar-stat.power = 전력: {0} / {1} # Settings +setting.gaycursor.name = 마우스 꼬리효과를 활성화합니다. PC 전용. setting.wavemax.name = 표시할 단계 수 setting.rangemax.name = 블록 스캔 사거리 setting.panfix.name = 코어 UI용 카메라 고정 [lightgray](플레이어가 움직일 때 흔들림이 심합니다.)[] @@ -32,4 +33,9 @@ editmaxwave = 최대 단계 수정하기(정수) editrange = 스캔 사거리 수정하기(정수) invalid = 잘못된 숫자 형식이거나 최대값(2147483647)을 넘겼습니다. 기본값으로 돌아갑니다(25). warn = [red]경고![] -warning = 표시될 웨이브 수가 너무 많습니다! 많은 랙이 걸릴 수 있습니다. \ No newline at end of file +warning = 표시될 웨이브 수가 너무 많습니다! 많은 랙이 걸릴 수 있습니다. + +#Hud +hud.unit = 유닛 정보 +hud.wave = 단계 정보 +hud.core = 코어 정보 \ No newline at end of file diff --git a/src/UnitInfo/core/HudUi.java b/src/UnitInfo/core/HudUi.java index 37e6312..cfe4148 100644 --- a/src/UnitInfo/core/HudUi.java +++ b/src/UnitInfo/core/HudUi.java @@ -67,6 +67,7 @@ public class HudUi { int maxwave; int coreamount; float unitFade; + float a; Unit unit2; @@ -107,6 +108,18 @@ public class HudUi { public void addTable(){ mainTable = new Table(table -> { table.left(); + + Label label = new Label(""); + label.setColor(Pal.stat); + label.update(() -> { + a = Mathf.lerpDelta(a, 0f, 0.025f); + label.color.a = a; + }); + label.setStyle(Styles.outlineLabel); + label.getStyle().background = Styles.black8; + + Table labelTable = new Table(t -> t.add(label).scaling(Scaling.fit).left().padRight(40 * 8f)); + table.table(t -> { Button[] buttons = {null, null, null}; buttons[0] = t.button(Icon.units, Styles.clearToggleTransi, () -> { @@ -114,13 +127,16 @@ public class HudUi { buttons[0].setChecked(true); buttons[1].setChecked(false); buttons[2].setChecked(false); + label.setText(Core.bundle.get("hud.unit")); addCoreTable(); addWaveTable(); addBars(); addWeapon(); addUnitTable(); table.removeChild(baseTable); - baseTable = table.table(tt -> tt.stack(unitTable, waveTable, coreTable).align(Align.left).left()).get(); + labelTable.setPosition(buttons[uiIndex].x, buttons[uiIndex].y); + baseTable = table.table(tt -> tt.stack(unitTable, coreTable, waveTable, labelTable).align(Align.left).left().visible(() -> settings.getBool("infoui"))).get(); + a = 1f; }).size(5*8f).get(); t.row(); buttons[1] = t.button(Icon.fileText, Styles.clearToggleTransi, () -> { @@ -128,13 +144,16 @@ public class HudUi { buttons[0].setChecked(false); buttons[1].setChecked(true); buttons[2].setChecked(false); + label.setText(Core.bundle.get("hud.wave")); addCoreTable(); addWaveTable(); addBars(); addWeapon(); addUnitTable(); table.removeChild(baseTable); - baseTable = table.table(tt -> tt.stack(unitTable, waveTable, coreTable).align(Align.left).left()).get(); + labelTable.setPosition(buttons[uiIndex].x, buttons[uiIndex].y); + baseTable = table.table(tt -> tt.stack(unitTable, coreTable, waveTable, labelTable).align(Align.left).left().visible(() -> settings.getBool("infoui"))).get(); + a = 1f; }).size(5*8f).get(); t.row(); buttons[2] = t.button(Icon.commandRally, Styles.clearToggleTransi, () -> { @@ -142,20 +161,19 @@ public class HudUi { buttons[0].setChecked(false); buttons[1].setChecked(false); buttons[2].setChecked(true); + label.setText(Core.bundle.get("hud.core")); addCoreTable(); addWaveTable(); addBars(); addWeapon(); addUnitTable(); table.removeChild(baseTable); - baseTable = table.table(tt -> tt.stack(unitTable, waveTable, coreTable).align(Align.left).left()).get(); + labelTable.setPosition(buttons[uiIndex].x, buttons[uiIndex].y); + baseTable = table.table(tt -> tt.stack(unitTable, coreTable, waveTable, labelTable).align(Align.left).left().visible(() -> settings.getBool("infoui"))).get(); + a = 1f; }).size(5*8f).get(); }); - - baseTable = table.table(tt -> { - tt.stack(unitTable, waveTable, coreTable).align(Align.left).left(); - tt.visible(() -> settings.getBool("infoui")); - }).get(); + baseTable = table.table(tt -> tt.stack(unitTable, coreTable, waveTable, labelTable).align(Align.left).left().visible(() -> settings.getBool("infoui"))).get(); table.fillParent = true; table.visibility = () -> ( @@ -767,7 +785,7 @@ public class HudUi { tt.add(label); })); - add(new Table(tt -> { //unit info + add(new Table(tt -> { tt.center(); TextButton button = new TextButton("?", Styles.clearPartialt); button.changed(() -> { @@ -901,6 +919,7 @@ public class HudUi { waveScrollPos = wavePane.getScrollY(); wavePane.setWidget(new Table(tx -> tx.table(this::setWave).left())); }); + wavePane.setOverscroll(false, false); waveTable = new Table(table -> { table.add(new Table(scene.getStyle(Button.ButtonStyle.class).up, t -> { diff --git a/src/UnitInfo/core/Main.java b/src/UnitInfo/core/Main.java index 54f7db9..0be17af 100644 --- a/src/UnitInfo/core/Main.java +++ b/src/UnitInfo/core/Main.java @@ -11,6 +11,7 @@ import arc.struct.Seq; import arc.util.Time; import arc.util.Tmp; import mindustry.Vars; +import mindustry.content.Fx; import mindustry.game.EventType.*; import mindustry.game.Team; import mindustry.gen.Building; @@ -20,6 +21,7 @@ import mindustry.mod.Mod; import static arc.Core.settings; import static mindustry.Vars.indexer; +import static mindustry.Vars.mobile; public class Main extends Mod { public static Setting settingAdder = new Setting(); @@ -58,15 +60,17 @@ public class Main extends Mod { for(Team team : Team.all) { indexer.eachBlock(team, Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, b -> true, b -> new FreeBar().draw(b)); } - for(int i : Mathf.signs) { - Draw.color(Tmp.c1.set(Pal.accent).lerp(Pal.surge, Mathf.absin(4 + i, 1f)).a(0.5f + Mathf.absin(3 + i, 0.5f))); - Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.1f, i * Time.time % 360); - Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.1f, 90 + i * Time.time % 360); - Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.1f, 180 + i * Time.time % 360); - Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.1f, 270 + i * Time.time % 360); - } + Draw.color(Tmp.c1.set(Pal.accent).a(0.75f + Mathf.absin(3, 0.25f))); + Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.15f, Time.time % 360); + Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.15f, 90 + Time.time % 360); + Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.15f, 180 + Time.time % 360); + Lines.swirl(Core.input.mouseWorldX(), Core.input.mouseWorldY(), range, 0.15f, 270 + Time.time % 360); + Draw.reset(); } + if(!mobile){ + Fx.mine.at(Core.input.mouseWorldX(), Core.input.mouseWorldY(), Tmp.c2.set(Color.red).shiftHue(Time.time * 1.5f)); + } }); } diff --git a/src/UnitInfo/core/Setting.java b/src/UnitInfo/core/Setting.java index b893f29..6c7e9cb 100644 --- a/src/UnitInfo/core/Setting.java +++ b/src/UnitInfo/core/Setting.java @@ -156,6 +156,7 @@ public class Setting { boolean tmp = Core.settings.getBool("uiscalechanged", false); Core.settings.put("uiscalechanged", false); + addGraphicSetting("gaycursor"); addGraphicSetting("panfix"); addGraphicSetting("scan"); addGraphicSetting("range"); @@ -172,6 +173,7 @@ public class Setting { ui.settings.graphics.sliderPref("uiopacity", 50, 0, 100, 5, s -> s + "%"); ui.settings.graphics.sliderPref("uiscaling", 100, 0, 100, 5, s -> s + "%"); + Core.settings.defaults("gaycursor", true); Core.settings.defaults("panfix", false); Core.settings.defaults("scan", true); Core.settings.defaults("range", false);