From c55ff4ad5e912b1effffe523c6c2e2437aca49e3 Mon Sep 17 00:00:00 2001 From: Joshua Fan Date: Sun, 28 Feb 2021 06:19:27 -0800 Subject: [PATCH] Desktop double-click mining: fix click on mined tile to cancel (#4815) --- core/src/mindustry/input/DesktopInput.java | 2 +- core/src/mindustry/input/InputHandler.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index d3d22c0510..5ec8b98fce 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -494,7 +494,7 @@ public class DesktopInput extends InputHandler{ }else if(selected != null){ //only begin shooting if there's no cursor event if(!tryTapPlayer(Core.input.mouseWorld().x, Core.input.mouseWorld().y) && !tileTapped(selected.build) && !player.unit().activelyBuilding() && !droppingItem - && !((!settings.getBool("doubletapmine") || (selected == prevSelected && Time.timeSinceMillis(selectMillis) < 500)) && tryBeginMine(selected)) && !Core.scene.hasKeyboard()){ + && !(tryStopMine(selected) || (!settings.getBool("doubletapmine") || selected == prevSelected && Time.timeSinceMillis(selectMillis) < 500) && tryBeginMine(selected)) && !Core.scene.hasKeyboard()){ player.shooting = shouldShoot; } }else if(!Core.scene.hasKeyboard()){ //if it's out of bounds, shooting is just fine diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index fe082d5468..23e798273d 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -948,8 +948,7 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ /** Tries to begin mining a tile, returns true if successful. */ boolean tryBeginMine(Tile tile){ if(canMine(tile)){ - //if a block is clicked twice, reset it - player.unit().mineTile = player.unit().mineTile == tile ? null : tile; + player.unit().mineTile = tile; return true; } return false;