From 83fa1f23ee7f62db0a226e4a3e00c62300edec31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Dole=C5=BEal?= Date: Sat, 26 Dec 2020 21:31:31 +0000 Subject: [PATCH] Delete building keybinding --- src/js/game/hud/parts/building_placer_logic.js | 11 ++++++++++- src/js/game/hud/parts/keybinding_overlay.js | 6 +++--- src/js/game/key_action_mapper.js | 1 + translations/base-en.yaml | 1 + 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/js/game/hud/parts/building_placer_logic.js b/src/js/game/hud/parts/building_placer_logic.js index de5a5427..5d4bd2ce 100644 --- a/src/js/game/hud/parts/building_placer_logic.js +++ b/src/js/game/hud/parts/building_placer_logic.js @@ -117,7 +117,8 @@ export class HUDBuildingPlacerLogic extends BaseHUDPart { keyActionMapper.getBinding(KEYMAPPINGS.general.back).add(this.abortPlacement, this); keyActionMapper.getBinding(KEYMAPPINGS.placement.pipette).add(this.startPipette, this); this.root.gameState.inputReciever.keyup.add(this.checkForDirectionLockSwitch, this); - keyActionMapper.getBinding(KEYMAPPINGS.placement.placeBuilding).add(this.tryPlaceCurrentBuildingAtCursor, this) + keyActionMapper.getBinding(KEYMAPPINGS.placement.placeBuilding).add(this.tryPlaceCurrentBuildingAtCursor, this); + keyActionMapper.getBinding(KEYMAPPINGS.placement.delete).add(this.tryDeleteBelowCursor, this); // BINDINGS TO GAME EVENTS this.root.hud.signals.buildingsSelectedForCopy.add(this.abortPlacement, this); @@ -150,6 +151,14 @@ export class HUDBuildingPlacerLogic extends BaseHUDPart { this.tryPlaceCurrentBuildingAt(mouseTile); } + tryDeleteBelowCursor() { + if (this.currentMetaBuilding.get()) { + return; + } + + this.deleteBelowCursor(); + } + /** * Called when the edit mode got changed * @param {Layer} layer diff --git a/src/js/game/hud/parts/keybinding_overlay.js b/src/js/game/hud/parts/keybinding_overlay.js index 6d29be63..e7629051 100644 --- a/src/js/game/hud/parts/keybinding_overlay.js +++ b/src/js/game/hud/parts/keybinding_overlay.js @@ -173,7 +173,7 @@ export class HUDKeybindingOverlay extends BaseHUDPart { { // Delete with right click label: T.ingame.keybindingsOverlay.delete, - keys: [KEYCODE_RMB], + keys: [KEYCODE_RMB, DIVIDER_TOKEN, k.placement.delete], condition: () => !this.anyPlacementActive && !this.mapOverviewActive && !this.anythingSelectedOnMap, }, @@ -195,7 +195,7 @@ export class HUDKeybindingOverlay extends BaseHUDPart { { // Place building label: T.ingame.keybindingsOverlay.placeBuilding, - keys: [k.placement.placeBuilding], + keys: [KEYCODE_LMB, DIVIDER_TOKEN, k.placement.placeBuilding], condition: () => this.anyPlacementActive, }, @@ -299,7 +299,7 @@ export class HUDKeybindingOverlay extends BaseHUDPart { break; default: html += `${getStringForKeyCode( - mapper.getBinding(/** @type {KeyCode} */ (key)).keyCode + mapper.getBinding(/** @type {KeyCode} */(key)).keyCode )}`; } } diff --git a/src/js/game/key_action_mapper.js b/src/js/game/key_action_mapper.js index 67897b67..fac10893 100644 --- a/src/js/game/key_action_mapper.js +++ b/src/js/game/key_action_mapper.js @@ -83,6 +83,7 @@ export const KEYMAPPINGS = { placement: { placeBuilding: { keyCode: KEYCODE_LMB }, + delete: { keyCode: KEYCODE_RMB }, pipette: { keyCode: key("Q") }, rotateWhilePlacing: { keyCode: key("R") }, rotateInverseModifier: { keyCode: 16 }, // SHIFT diff --git a/translations/base-en.yaml b/translations/base-en.yaml index 59087c73..725e93e3 100644 --- a/translations/base-en.yaml +++ b/translations/base-en.yaml @@ -1181,6 +1181,7 @@ keybindings: placementDisableAutoOrientation: Disable automatic orientation placeMultiple: Stay in placement mode placeInverse: Invert automatic belt orientation + delete: Delete Building about: title: About this Game