added fastpan feature

pull/131/head
Jaysc 4 years ago
parent 124068bf28
commit 487a99bb56

@ -901,8 +901,12 @@ export class Camera extends BasicSerializableObject {
forceX += 1;
}
this.center.x += moveAmount * forceX * this.root.app.settings.getMovementSpeed();
this.center.y += moveAmount * forceY * this.root.app.settings.getMovementSpeed();
let movementSpeed = this.root.app.settings.getMovementSpeed(
actionMapper.getBinding(KEYMAPPINGS.navigation.fastPan).isCurrentlyPressed()
);
this.center.x += moveAmount * forceX * movementSpeed;
this.center.y += moveAmount * forceY * movementSpeed;
}
}
}

@ -36,6 +36,7 @@ export const KEYMAPPINGS = {
centerMap: { keyCode: 32 }, // SPACE
mapZoomIn: { keyCode: 187, repeated: true }, // "+"
mapZoomOut: { keyCode: 189, repeated: true }, // "-"
fastPan: { keyCode: 16 }, //shift
createMarker: { keyCode: key("M") },
},

@ -302,11 +302,14 @@ export class ApplicationSettings extends ReadWriteProxy {
return 1;
}
getMovementSpeed() {
/**
* @param {boolean} fastpan
*/
getMovementSpeed(fastpan = false) {
const id = this.getAllSettings().movementSpeed;
for (let i = 0; i < movementSpeeds.length; ++i) {
if (movementSpeeds[i].id === id) {
return movementSpeeds[i].multiplier;
return movementSpeeds[fastpan && i + 1 < movementSpeeds.length ? i + 1 : i].multiplier;
}
}
logger.error("Unknown movement speed id:", id);

Loading…
Cancel
Save