1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-06-07 10:03:59 +00:00

Make ctrl/shift/alt keubindings changeable

This commit is contained in:
Dimava 2020-05-27 15:25:30 +03:00
parent f5f08a08e2
commit ab7584d9e9
3 changed files with 14 additions and 11 deletions

View File

@ -159,14 +159,14 @@ export class HUDBuildingPlacer extends BaseHUDPart {
if ( if (
metaBuilding && metaBuilding &&
metaBuilding.getRotateAutomaticallyWhilePlacing(this.currentVariant.get()) && metaBuilding.getRotateAutomaticallyWhilePlacing(this.currentVariant.get()) &&
!this.root.app.inputMgr.ctrlIsDown !this.root.keyMapper.getBinding(KEYMAPPINGS.placementModifiers.placementDisableAutoOrientation).currentlyDown
) { ) {
const delta = newPos.sub(oldPos); const delta = newPos.sub(oldPos);
const angleDeg = Math_degrees(delta.angle()); const angleDeg = Math_degrees(delta.angle());
this.currentBaseRotation = (Math.round(angleDeg / 90) * 90 + 360) % 360; this.currentBaseRotation = (Math.round(angleDeg / 90) * 90 + 360) % 360;
// Holding alt inverts the placement // Holding alt inverts the placement
if (this.root.app.inputMgr.altIsDown) { if (this.root.keyMapper.getBinding(KEYMAPPINGS.placementModifiers.placeInverse).currentlyDown) {
this.currentBaseRotation = (180 + this.currentBaseRotation) % 360; this.currentBaseRotation = (180 + this.currentBaseRotation) % 360;
} }
} }
@ -464,13 +464,16 @@ export class HUDBuildingPlacer extends BaseHUDPart {
) { ) {
// Succesfully placed // Succesfully placed
if (metaBuilding.getFlipOrientationAfterPlacement() && !this.root.app.inputMgr.ctrlIsDown) { if (
metaBuilding.getFlipOrientationAfterPlacement() &&
!this.root.keyMapper.getBinding(KEYMAPPINGS.placementModifiers.placementDisableAutoOrientation).currentlyDown
) {
this.currentBaseRotation = (180 + this.currentBaseRotation) % 360; this.currentBaseRotation = (180 + this.currentBaseRotation) % 360;
} }
if ( if (
!metaBuilding.getStayInPlacementMode() && !metaBuilding.getStayInPlacementMode() &&
!this.root.app.inputMgr.shiftIsDown && !this.root.keyMapper.getBinding(KEYMAPPINGS.placementModifiers.placeMultiple).currentlyDown &&
!this.root.app.settings.getAllSettings().alwaysMultiplace !this.root.app.settings.getAllSettings().alwaysMultiplace
) { ) {
// Stop placement // Stop placement

View File

@ -89,7 +89,7 @@ export class HUDMassSelector extends BaseHUDPart {
* @param {enumMouseButton} mouseButton * @param {enumMouseButton} mouseButton
*/ */
onMouseDown(pos, mouseButton) { onMouseDown(pos, mouseButton) {
if (!this.root.app.inputMgr.ctrlIsDown) { if (!this.root.keyMapper.getBinding(KEYMAPPINGS.massSelect.massSelectStart).currentlyDown) {
return; return;
} }
@ -97,7 +97,7 @@ export class HUDMassSelector extends BaseHUDPart {
return; return;
} }
if (!this.root.app.inputMgr.shiftIsDown) { if (!this.root.keyMapper.getBinding(KEYMAPPINGS.massSelect.massSelectSelectMultiple).currentlyDown) {
// Start new selection // Start new selection
this.entityUidsMarkedForDeletion = new Set(); this.entityUidsMarkedForDeletion = new Set();
} }

View File

@ -58,15 +58,15 @@ export const KEYMAPPINGS = {
}, },
massSelect: { massSelect: {
massSelectStart: { keyCode: 17, builtin: true }, // CTRL massSelectStart: { keyCode: 17 }, // CTRL
massSelectSelectMultiple: { keyCode: 16, builtin: true }, // SHIFT massSelectSelectMultiple: { keyCode: 16 }, // SHIFT
confirmMassDelete: { keyCode: key("X") }, confirmMassDelete: { keyCode: key("X") },
}, },
placementModifiers: { placementModifiers: {
placementDisableAutoOrientation: { keyCode: 17, builtin: true }, // CTRL placementDisableAutoOrientation: { keyCode: 17 }, // CTRL
placeMultiple: { keyCode: 16, builtin: true }, // SHIFT placeMultiple: { keyCode: 16 }, // SHIFT
placeInverse: { keyCode: 18, builtin: true }, // ALT placeInverse: { keyCode: 18 }, // ALT
}, },
}; };