From 5a61d1813a1bae3e45b35176ae69a0310637d1e1 Mon Sep 17 00:00:00 2001 From: Tobias Springer Date: Sun, 10 May 2020 18:35:27 +0200 Subject: [PATCH] Change keybinding for multi select to ctrl --- src/js/core/input_distributor.js | 9 +++++++++ src/js/core/input_receiver.js | 1 + src/js/game/hud/parts/building_placer.js | 11 +++++++++-- src/js/game/hud/parts/keybinding_overlay.js | 2 +- src/js/game/hud/parts/mass_selector.js | 2 +- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/js/core/input_distributor.js b/src/js/core/input_distributor.js index ffd6cfcd..8886947b 100644 --- a/src/js/core/input_distributor.js +++ b/src/js/core/input_distributor.js @@ -25,6 +25,7 @@ export class InputDistributor { this.shiftIsDown = false; this.altIsDown = false; + this.ctrlIsDown = false; this.bindToEvents(); } @@ -175,6 +176,7 @@ export class InputDistributor { * Handles when the page got blurred */ handleBlur() { + this.ctrlIsDown = false; this.shiftIsDown = false; this.altIsDown = false; this.forwardToReceiver("pageBlur", {}); @@ -188,6 +190,9 @@ export class InputDistributor { if (event.keyCode === 16) { this.shiftIsDown = true; } + if (event.keyCode === 17) { + this.ctrlIsDown = true; + } if (event.keyCode === 18) { this.altIsDown = true; } @@ -229,6 +234,10 @@ export class InputDistributor { this.shiftIsDown = false; this.forwardToReceiver("shiftUp", {}); } + if (event.keyCode === 17) { + this.ctrlIsDown = false; + this.forwardToReceiver("ctrlUp", {}); + } if (event.keyCode === 18) { this.altIsDown = false; this.forwardToReceiver("altUp", {}); diff --git a/src/js/core/input_receiver.js b/src/js/core/input_receiver.js index c4b6fbfe..1a373905 100644 --- a/src/js/core/input_receiver.js +++ b/src/js/core/input_receiver.js @@ -11,6 +11,7 @@ export class InputReceiver { this.pageBlur = new Signal(); this.shiftUp = new Signal(); this.altUp = new Signal(); + this.ctrlUp = new Signal(); // Dispatched on destroy this.destroyed = new Signal(); diff --git a/src/js/game/hud/parts/building_placer.js b/src/js/game/hud/parts/building_placer.js index 14d3e19f..b3bc4108 100644 --- a/src/js/game/hud/parts/building_placer.js +++ b/src/js/game/hud/parts/building_placer.js @@ -28,8 +28,8 @@ export class HUDBuildingPlacer extends BaseHUDPart { this.fakeEntity = null; const keyActionMapper = this.root.gameState.keyActionMapper; - keyActionMapper.getBinding("building_abort_placement").add(() => this.currentMetaBuilding.set(null)); - keyActionMapper.getBinding("back").add(() => this.currentMetaBuilding.set(null)); + keyActionMapper.getBinding("building_abort_placement").add(this.abortPlacement, this); + keyActionMapper.getBinding("back").add(this.abortPlacement, this); keyActionMapper.getBinding("rotate_while_placing").add(this.tryRotate, this); @@ -61,6 +61,13 @@ export class HUDBuildingPlacer extends BaseHUDPart { this.buildingDescription = makeDiv(this.element, null, ["description"], ""); } + abortPlacement() { + if (this.currentMetaBuilding.get()) { + this.currentMetaBuilding.set(null); + return STOP_PROPAGATION; + } + } + /** * mouse down pre handler * @param {Vector} pos diff --git a/src/js/game/hud/parts/keybinding_overlay.js b/src/js/game/hud/parts/keybinding_overlay.js index edf4d88c..99b4231e 100644 --- a/src/js/game/hud/parts/keybinding_overlay.js +++ b/src/js/game/hud/parts/keybinding_overlay.js @@ -45,7 +45,7 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
- ALT+ + CTRL+
diff --git a/src/js/game/hud/parts/mass_selector.js b/src/js/game/hud/parts/mass_selector.js index f8b0cb83..f3a205d4 100644 --- a/src/js/game/hud/parts/mass_selector.js +++ b/src/js/game/hud/parts/mass_selector.js @@ -79,7 +79,7 @@ export class HUDMassSelector extends BaseHUDPart { * @param {Vector} pos */ onMouseDown(pos) { - if (!this.root.app.inputMgr.altIsDown) { + if (!this.root.app.inputMgr.ctrlIsDown) { return; }