mirror of
https://github.com/tobspr/shapez.io.git
synced 2026-03-02 03:39:21 +00:00
Add customizable keybindings & watermark
This commit is contained in:
@@ -130,6 +130,11 @@ class SettingsStorage {
|
||||
this.musicMuted = false;
|
||||
this.theme = "light";
|
||||
this.refreshRate = "60";
|
||||
|
||||
/**
|
||||
* @type {Object.<string, number>}
|
||||
*/
|
||||
this.keybindingOverrides = {};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,6 +206,10 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||
return this.getAllSettings().fullscreen;
|
||||
}
|
||||
|
||||
getKeybindingOverrides() {
|
||||
return this.getAllSettings().keybindingOverrides;
|
||||
}
|
||||
|
||||
// Setters
|
||||
|
||||
/**
|
||||
@@ -224,6 +233,33 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||
assertAlways(false, "Unknown setting: " + key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a new keybinding override
|
||||
* @param {string} keybindingId
|
||||
* @param {number} keyCode
|
||||
*/
|
||||
updateKeybindingOverride(keybindingId, keyCode) {
|
||||
assert(Number.isInteger(keyCode), "Not a valid key code: " + keyCode);
|
||||
this.getAllSettings().keybindingOverrides[keybindingId] = keyCode;
|
||||
return this.writeAsync();
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets a given keybinding override
|
||||
* @param {string} id
|
||||
*/
|
||||
resetKeybindingOverride(id) {
|
||||
delete this.getAllSettings().keybindingOverrides[id];
|
||||
return this.writeAsync();
|
||||
}
|
||||
/**
|
||||
* Resets all keybinding overrides
|
||||
*/
|
||||
resetKeybindingOverrides() {
|
||||
this.getAllSettings().keybindingOverrides = {};
|
||||
return this.writeAsync();
|
||||
}
|
||||
|
||||
// RW Proxy impl
|
||||
verify(data) {
|
||||
if (!data.settings) {
|
||||
@@ -252,7 +288,7 @@ export class ApplicationSettings extends ReadWriteProxy {
|
||||
}
|
||||
|
||||
getCurrentVersion() {
|
||||
return 4;
|
||||
return 5;
|
||||
}
|
||||
|
||||
migrate(data) {
|
||||
|
||||
Reference in New Issue
Block a user