From 0ee054b310419590f480892cfa3a0e36912d0191 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 30 Oct 2022 14:52:12 -0400 Subject: [PATCH] Added "select all units" keybind --- core/assets/bundles/bundle.properties | 1 + core/src/mindustry/input/Binding.java | 2 ++ core/src/mindustry/input/DesktopInput.java | 9 +++++++++ core/src/mindustry/service/Achievement.java | 18 +++++++++--------- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 2323dbebdc..0fbcc45895 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1139,6 +1139,7 @@ keybind.select.name = Select/Shoot keybind.diagonal_placement.name = Diagonal Placement keybind.pick.name = Pick Block keybind.break_block.name = Break Block +keybind.select_all_units = Select All Units keybind.deselect.name = Deselect keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo diff --git a/core/src/mindustry/input/Binding.java b/core/src/mindustry/input/Binding.java index 44d07adc46..3ea269ead7 100644 --- a/core/src/mindustry/input/Binding.java +++ b/core/src/mindustry/input/Binding.java @@ -19,6 +19,8 @@ public enum Binding implements KeyBind{ deselect(KeyCode.mouseRight), break_block(KeyCode.mouseRight), + select_all_units(KeyCode.g), + pickupCargo(KeyCode.leftBracket), dropCargo(KeyCode.rightBracket), diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index f818a6fa55..b0451213b9 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -254,6 +254,15 @@ public class DesktopInput extends InputHandler{ //validate commanding units selectedUnits.removeAll(u -> !u.isCommandable() || !u.isValid()); + if(commandMode && input.keyTap(Binding.select_all_units) && !scene.hasField() && !scene.hasDialog()){ + selectedUnits.clear(); + for(var unit : player.team().data().units){ + if(unit.isCommandable()){ + selectedUnits.add(unit); + } + } + } + if(!scene.hasMouse() && !locked && state.rules.possessionAllowed){ if(Core.input.keyDown(Binding.control) && Core.input.keyTap(Binding.select)){ Unit on = selectedUnit(); diff --git a/core/src/mindustry/service/Achievement.java b/core/src/mindustry/service/Achievement.java index ae44a9575b..18342ab0b9 100644 --- a/core/src/mindustry/service/Achievement.java +++ b/core/src/mindustry/service/Achievement.java @@ -104,18 +104,18 @@ public enum Achievement{ joinCommunityServer, //TODO - test openConsole, //TODO - test - controlTurret, //TODO - Steam - icon done - dropUnitsCoreZone, //TODO - Steam - icon done - destroyScatterFlare, //TODO - Steam - icon done - boostUnit, //TODO - Steam - icon done - boostBuildingFloor, //TODO - Steam - icon done + controlTurret, //TODO - test + dropUnitsCoreZone, //TODO - test + destroyScatterFlare, //TODO - test + boostUnit, //TODO - test + boostBuildingFloor, //TODO - test - hoverUnitLiquid, //TODO - Steam - icon done + hoverUnitLiquid, //TODO - test - break100Boulders(SStat.bouldersDeconstructed, 100), //TODO - Steam - icon done - break10000Boulders(SStat.bouldersDeconstructed, 10_000), //TODO - Steam - icon done + break100Boulders(SStat.bouldersDeconstructed, 100), //TODO - test + break10000Boulders(SStat.bouldersDeconstructed, 10_000), //TODO - test - shockwaveTowerUse, //TODO - Steam - icon done + shockwaveTowerUse, //TODO - test useAnimdustryEmoji, //TODO - Steam - icon done