Differential D4039 Diff 17917 ps/trunk/binaries/data/mods/public/gui/gamesetup/Controllers/GuiData.js
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/gui/gamesetup/Controllers/GuiData.js
/** | /** | ||||
* This class contains network-synchronized data specific to GameSettingsController. | * This class contains network-synchronized data specific to GameSettingsController. | ||||
* It's split from GameSettingsController for convenience. | * It's split from GameSettingsController for convenience. | ||||
*/ | */ | ||||
class GameSettingsGuiData | class GameSettingsGuiData | ||||
{ | { | ||||
constructor() | constructor() | ||||
{ | { | ||||
this.mapFilter = new Observable(); | this.mapFilter = new Observable(); | ||||
this.mapFilter.filter = "default"; | this.mapFilter.filter = "default"; | ||||
// Mark some settings as unmodifiable even if they normally would be. | |||||
// TODO: increase support for this feature. | |||||
this.lockSettings = {}; | |||||
} | } | ||||
/** | /** | ||||
* Serialize for network transmission & settings persistence. | * Serialize for network transmission & settings persistence. | ||||
*/ | */ | ||||
Serialize() | Serialize() | ||||
{ | { | ||||
let ret = { | const ret = { | ||||
"mapFilter": this.mapFilter.filter, | "mapFilter": this.mapFilter.filter | ||||
}; | }; | ||||
if (Object.keys(this.lockSettings).length) | |||||
ret.lockSettings = this.lockSettings; | |||||
return ret; | return ret; | ||||
} | } | ||||
Deserialize(data) | Deserialize(data) | ||||
{ | { | ||||
this.mapFilter.filter = data.mapFilter; | this.mapFilter.filter = data.mapFilter; | ||||
this.lockSettings = data?.lockSettings || {}; | |||||
} | } | ||||
} | } |
Wildfire Games · Phabricator