Differential D3243 Diff 16556 ps/trunk/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/SeaLevelRiseTime.js
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Sliders/SeaLevelRiseTime.js
GameSettingControls.SeaLevelRiseTime = class extends GameSettingControlSlider | GameSettingControls.SeaLevelRiseTime = class SeaLevelRiseTime extends GameSettingControlSlider | ||||
{ | { | ||||
constructor(...args) | constructor(...args) | ||||
{ | { | ||||
super(...args); | super(...args); | ||||
this.values = undefined; | this.values = undefined; | ||||
this.sprintfValue = {}; | this.sprintfValue = {}; | ||||
} | |||||
onMapChange(mapData) | |||||
{ | |||||
this.values = | |||||
mapData && | |||||
mapData.settings && | |||||
mapData.settings.SeaLevelRise || undefined; | |||||
if (this.values) | g_GameSettings.seaLevelRise.watch(() => this.render(), ["value"]); | ||||
{ | g_GameSettings.map.watch(() => this.render(), ["type"]); | ||||
this.slider.min_value = this.values.Min; | this.render(); | ||||
this.slider.max_value = this.values.Max; | |||||
} | |||||
this.setHidden(!this.values); | |||||
this.setEnabled(g_GameAttributes.mapType != "scenario"); | |||||
} | |||||
onGameAttributesChange() | |||||
{ | |||||
if (this.values) | |||||
{ | |||||
if (g_GameAttributes.settings.SeaLevelRiseTime === undefined) | |||||
{ | |||||
g_GameAttributes.settings.SeaLevelRiseTime = this.values.Default; | |||||
this.gameSettingsControl.updateGameAttributes(); | |||||
} | |||||
} | |||||
else if (g_GameAttributes.settings.SeaLevelRiseTime !== undefined) | |||||
{ | |||||
delete g_GameAttributes.settings.SeaLevelRiseTime; | |||||
this.gameSettingsControl.updateGameAttributes(); | |||||
} | |||||
} | } | ||||
onGameAttributesBatchChange() | render() | ||||
{ | { | ||||
if (!this.values) | this.setHidden(g_GameSettings.seaLevelRise.value === undefined); | ||||
return; | this.setEnabled(g_GameSettings.map.type != "scenario"); | ||||
let value = Math.round(g_GameAttributes.settings.SeaLevelRiseTime); | let value = g_GameSettings.seaLevelRise.value; | ||||
this.sprintfValue.minutes = value; | this.sprintfValue.minutes = value; | ||||
this.setSelectedValue( | this.setSelectedValue( | ||||
g_GameAttributes.settings.SeaLevelRiseTime, | value, sprintf(this.SeaLevelRiseTimeCaption(value), this.sprintfValue)); | ||||
sprintf(this.SeaLevelRiseTimeCaption(value), this.sprintfValue)); | |||||
} | } | ||||
onValueChange(value) | onValueChange(value) | ||||
{ | { | ||||
g_GameAttributes.settings.SeaLevelRiseTime = value; | g_GameSettings.seaLevelRise.setValue(value); | ||||
this.gameSettingsControl.updateGameAttributes(); | |||||
this.gameSettingsControl.setNetworkGameAttributes(); | this.gameSettingsControl.setNetworkGameAttributes(); | ||||
} | } | ||||
onGameAttributesFinalize() | |||||
{ | |||||
if (this.values) | |||||
g_GameAttributes.settings.SeaLevelRiseTime = Math.round(g_GameAttributes.settings.SeaLevelRiseTime); | |||||
} | |||||
}; | }; | ||||
GameSettingControls.SeaLevelRiseTime.prototype.TitleCaption = | GameSettingControls.SeaLevelRiseTime.prototype.TitleCaption = | ||||
translate("Sea Level Rise Time"); | translate("Sea Level Rise Time"); | ||||
GameSettingControls.SeaLevelRiseTime.prototype.Tooltip = | GameSettingControls.SeaLevelRiseTime.prototype.Tooltip = | ||||
translate("Set the time when the water will start to rise."); | translate("Set the time when the water will start to rise."); | ||||
GameSettingControls.SeaLevelRiseTime.prototype.SeaLevelRiseTimeCaption = | GameSettingControls.SeaLevelRiseTime.prototype.SeaLevelRiseTimeCaption = | ||||
minutes => translatePluralWithContext("sea level rise time", "%(minutes)s minute", "%(minutes)s minutes", minutes); | minutes => translatePluralWithContext("sea level rise time", "%(minutes)s minute", "%(minutes)s minutes", minutes); | ||||
GameSettingControls.SeaLevelRiseTime.prototype.MinValue = 0; | GameSettingControls.SeaLevelRiseTime.prototype.MinValue = 0; | ||||
GameSettingControls.SeaLevelRiseTime.prototype.MaxValue = 60; | GameSettingControls.SeaLevelRiseTime.prototype.MaxValue = 60; |
Wildfire Games · Phabricator