From 514c4b3bffe3c92c3e48935d731d49c1773ee65f Mon Sep 17 00:00:00 2001 From: sharlottes <60801210+sharlottes@users.noreply.github.com> Date: Sat, 29 May 2021 21:34:56 +0900 Subject: [PATCH] revive arrow --- assets/bundles/bundle.properties | 1 + assets/bundles/bundle_ko.properties | 1 + src/UnitInfo/core/HudUi.java | 18 ++++++++++++++++++ src/UnitInfo/core/Main.java | 1 + src/UnitInfo/core/Setting.java | 2 ++ 5 files changed, 23 insertions(+) diff --git a/assets/bundles/bundle.properties b/assets/bundles/bundle.properties index 5c7c1f3..7888f6c 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.select.name = Display select Arrow setting.gaycursor.name = Enable mouse trail effect. only for desktop setting.wavemax.name = Wave Amount to display setting.rangemax.name = Block Scan Range diff --git a/assets/bundles/bundle_ko.properties b/assets/bundles/bundle_ko.properties index 4fd6aaa..5ef0368 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.select.name = 선택 화살표 표시 setting.gaycursor.name = PC 전용 마우스 꼬리효과 setting.wavemax.name = 표시할 단계 수 setting.rangemax.name = 블록 스캔 사거리 diff --git a/src/UnitInfo/core/HudUi.java b/src/UnitInfo/core/HudUi.java index 427556e..0de6bf0 100644 --- a/src/UnitInfo/core/HudUi.java +++ b/src/UnitInfo/core/HudUi.java @@ -2,9 +2,11 @@ package UnitInfo.core; import UnitInfo.ui.SBar; import arc.Core; +import arc.Events; import arc.func.Func; import arc.graphics.Color; import arc.graphics.g2d.*; +import arc.math.Angles; import arc.math.Mathf; import arc.scene.Element; import arc.scene.style.TransformDrawable; @@ -24,6 +26,7 @@ import mindustry.content.StatusEffects; import mindustry.entities.abilities.ForceFieldAbility; import mindustry.entities.abilities.ShieldRegenFieldAbility; import mindustry.entities.units.WeaponMount; +import mindustry.game.EventType; import mindustry.game.SpawnGroup; import mindustry.gen.*; import mindustry.graphics.Pal; @@ -76,6 +79,21 @@ public class HudUi { else return unit; } + public void setDraw(){ + Events.run(EventType.Trigger.draw, () -> { + if(!Core.settings.getBool("select")) return; + Unit unit = getUnit(); + + 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.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(); + } + }); + } + public void addTable(){ mainTable = new Table(table -> { table.left(); diff --git a/src/UnitInfo/core/Main.java b/src/UnitInfo/core/Main.java index 0a11b34..912e671 100644 --- a/src/UnitInfo/core/Main.java +++ b/src/UnitInfo/core/Main.java @@ -36,6 +36,7 @@ public class Main extends Mod { hud.addWaveTable(); hud.addUnitTable(); hud.addTable(); + hud.setDraw(); }); Events.on(WorldLoadEvent.class, e -> { diff --git a/src/UnitInfo/core/Setting.java b/src/UnitInfo/core/Setting.java index d19cd57..ddd9be2 100644 --- a/src/UnitInfo/core/Setting.java +++ b/src/UnitInfo/core/Setting.java @@ -159,6 +159,7 @@ public class Setting { addGraphicSetting("panfix"); addGraphicSetting("scan"); addGraphicSetting("range"); + addGraphicSetting("select"); addGraphicSetting("infoui"); addGraphicSetting("weaponui"); addGraphicSetting("commandedunitui"); @@ -166,6 +167,7 @@ public class Setting { addGraphicTypeSetting("wavemax", 100, "@editmaxwave","@invalid", 200); addGraphicTypeSetting("rangemax", 10, "@editrange","@invalid", 100); + ui.settings.graphics.sliderPref("selectopacity", 50, 0, 100, 5, s -> s + "%"); ui.settings.graphics.sliderPref("baropacity", 100, 0, 100, 5, s -> s + "%"); ui.settings.graphics.sliderPref("uiopacity", 50, 0, 100, 5, s -> s + "%");