Differential D3243 Diff 16503 binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/PlayerCount.js
Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/gamesetup/Pages/GameSetupPage/GameSettings/Single/Dropdowns/PlayerCount.js
GameSettingControls.PlayerCount = class extends GameSettingControlDropdown | GameSettingControls.PlayerCount = class PlayerCount extends GameSettingControlDropdown | ||||
{ | { | ||||
constructor(...args) | constructor(...args) | ||||
{ | { | ||||
super(...args); | super(...args); | ||||
this.values = Array.from( | this.values = Array.from( | ||||
new Array(g_MaxPlayers), | new Array(g_MaxPlayers), | ||||
(v, i) => i + 1); | (v, i) => i + 1); | ||||
this.dropdown.list = this.values; | this.dropdown.list = this.values; | ||||
this.dropdown.list_data = this.values; | this.dropdown.list_data = this.values; | ||||
} | |||||
onMapChange(mapData) | |||||
{ | |||||
if (mapData && | |||||
mapData.settings && | |||||
mapData.settings.PlayerData && | |||||
mapData.settings.PlayerData.length != g_GameAttributes.settings.PlayerData.length) | |||||
{ | |||||
this.onSelectionChange(this.values.indexOf(mapData.settings.PlayerData.length)); | |||||
} | |||||
this.setEnabled(g_GameAttributes.mapType == "random"); | g_NewGameSettings.playerCount.watch(() => this.render(), ["nbPlayers"]); | ||||
g_NewGameSettings.map.watch(() => this.render(), ["type"]); | |||||
this.render(); | |||||
} | } | ||||
onGameAttributesBatchChange() | render() | ||||
{ | { | ||||
this.setSelectedValue(g_GameAttributes.settings.PlayerData.length); | this.setEnabled(g_NewGameSettings.map.type == "random"); | ||||
this.setSelectedValue(g_NewGameSettings.playerCount.nbPlayers); | |||||
} | } | ||||
onSelectionChange(itemIdx) | onSelectionChange(itemIdx) | ||||
{ | { | ||||
let length = this.values[itemIdx]; | g_NewGameSettings.playerCount.setNb(this.values[itemIdx]); | ||||
if (g_GameAttributes.settings.PlayerData.length == length) | |||||
return; | |||||
g_GameAttributes.settings.PlayerData.length = length; | |||||
this.gameSettingsControl.updateGameAttributes(); | |||||
this.gameSettingsControl.setNetworkGameAttributes(); | this.gameSettingsControl.setNetworkGameAttributes(); | ||||
this.playerAssignmentsControl.unassignInvalidPlayers(); | |||||
} | } | ||||
}; | }; | ||||
GameSettingControls.PlayerCount.prototype.TitleCaption = | GameSettingControls.PlayerCount.prototype.TitleCaption = | ||||
translate("Number of Players"); | translate("Number of Players"); | ||||
GameSettingControls.PlayerCount.prototype.Tooltip = | GameSettingControls.PlayerCount.prototype.Tooltip = | ||||
translate("Select number of players."); | translate("Select number of players."); |
Wildfire Games · Phabricator