1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00

Fix keys being stuck, show savegame levels in main menu

This commit is contained in:
tobspr
2020-05-28 14:53:11 +02:00
parent 2a4ee8e784
commit e0facaf788
28 changed files with 175 additions and 138 deletions

View File

@@ -83,7 +83,7 @@ export const globalConfig = {
debug: {
/* dev:start */
fastGameEnter: true,
// fastGameEnter: true,
// noArtificialDelays: true,
// disableSavegameWrite: true,
// showEntityBounds: true,
@@ -100,7 +100,7 @@ export const globalConfig = {
// testClipping: true,
// framePausesBetweenTicks: 40,
// testTranslations: true,
enableEntityInspector: true,
// enableEntityInspector: true,
// testAds: true,
// disableMapOverview: true,
disableTutorialHints: true,

View File

@@ -23,6 +23,11 @@ export class InputDistributor {
/** @type {Array<function(any) : boolean>} */
this.filters = [];
/**
* All keys which are currently down
*/
this.keysDown = new Set();
this.bindToEvents();
}
@@ -173,6 +178,7 @@ export class InputDistributor {
*/
handleBlur() {
this.forwardToReceiver("pageBlur", {});
this.keysDown.clear();
}
/**
@@ -180,19 +186,24 @@ export class InputDistributor {
*/
handleKeydown(event) {
if (
// TAB
event.keyCode === 9 ||
// F1 - F10
(event.keyCode >= 112 && event.keyCode < 122)
event.keyCode === 9 || // TAB
event.keyCode === 16 || // SHIFT
event.keyCode === 17 || // CTRL
event.keyCode === 18 || // ALT
(event.keyCode >= 112 && event.keyCode < 122) // F1 - F10
) {
event.preventDefault();
}
const isInitial = !this.keysDown.has(event.keyCode);
this.keysDown.add(event.keyCode);
if (
this.forwardToReceiver("keydown", {
keyCode: event.keyCode,
shift: event.shiftKey,
alt: event.altKey,
initial: isInitial,
event,
}) === STOP_PROPAGATION
) {
@@ -212,6 +223,8 @@ export class InputDistributor {
* @param {KeyboardEvent} event
*/
handleKeyup(event) {
this.keysDown.delete(event.keyCode);
this.forwardToReceiver("keyup", {
keyCode: event.keyCode,
shift: event.shiftKey,