Differential D3243 Diff 16284 binaries/data/mods/public/gui/gamesetup/Controls/PlayerAssignmentsControl.js
Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/gamesetup/Controls/PlayerAssignmentsControl.js
Show All 19 Lines | if (!g_IsNetworked) | ||||
g_PlayerAssignments = { | g_PlayerAssignments = { | ||||
"local": { | "local": { | ||||
"name": name, | "name": name, | ||||
"player": -1 | "player": -1 | ||||
} | } | ||||
}; | }; | ||||
} | } | ||||
g_NewGameSettings.playerCount.watch(() => this.unassignInvalidPlayers(), ["nbPlayers"]); | |||||
setupWindow.registerLoadHandler(this.onLoad.bind(this)); | setupWindow.registerLoadHandler(this.onLoad.bind(this)); | ||||
setupWindow.registerGetHotloadDataHandler(this.onGetHotloadData.bind(this)); | setupWindow.registerGetHotloadDataHandler(this.onGetHotloadData.bind(this)); | ||||
netMessages.registerNetMessageHandler("players", this.onPlayerAssignmentMessage.bind(this)); | netMessages.registerNetMessageHandler("players", this.onPlayerAssignmentMessage.bind(this)); | ||||
} | } | ||||
registerPlayerAssignmentsChangeHandler(handler) | registerPlayerAssignmentsChangeHandler(handler) | ||||
{ | { | ||||
this.playerAssignmentsChangeHandlers.add(handler); | this.playerAssignmentsChangeHandlers.add(handler); | ||||
▲ Show 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | onPlayerAssignmentMessage(message) | ||||
for (let guid in g_PlayerAssignments) | for (let guid in g_PlayerAssignments) | ||||
if (!newAssignments[guid]) | if (!newAssignments[guid]) | ||||
for (let handler of this.clientLeaveHandlers) | for (let handler of this.clientLeaveHandlers) | ||||
handler(guid); | handler(guid); | ||||
g_PlayerAssignments = newAssignments; | g_PlayerAssignments = newAssignments; | ||||
this.updatePlayerAssignments(); | this.updatePlayerAssignments(); | ||||
// Send at most one gameRegisterStanza after all handlers run in case a | // Send at most one gameRegisterStanza after all handlers run in case a | ||||
// joining observer has been assigned to a playerslot. | // joining observer has been assigned to a playerslot. | ||||
this.gameRegisterStanza.sendImmediately?.(); | this.gameRegisterStanza.sendImmediately?.(); | ||||
Lint: ESLintBear: `Parsing error: Unexpected token .` | |||||
Lint: JSHintBear Expected an identifier and instead saw '.'. Lint: JSHintBear: `Expected an identifier and instead saw '.'.` | |||||
Lint: JSHintBear Expected an operator and instead saw '('. Lint: JSHintBear: `Expected an operator and instead saw '('.` | |||||
Lint: JSHintBear Expected ':' and instead saw ')'. Lint: JSHintBear: `Expected ':' and instead saw ')'.` | |||||
Lint: JSHintBear Expected an identifier and instead saw ';'. Lint: JSHintBear: `Expected an identifier and instead saw ';'.` | |||||
Lint: JSHintBear Expected an assignment or function call and instead saw an expression. Lint: JSHintBear: `Expected an assignment or function call and instead saw an expression.` | |||||
Lint: JSHintBear Missing semicolon. Lint: JSHintBear: `Missing semicolon.` | |||||
} | } | ||||
assignClient(guid, playerIndex) | assignClient(guid, playerIndex) | ||||
{ | { | ||||
g_NewGameSettings.playerAI.setAI(playerIndex - 1, undefined); | |||||
if (g_IsNetworked) | if (g_IsNetworked) | ||||
Engine.AssignNetworkPlayer(playerIndex, guid); | Engine.AssignNetworkPlayer(playerIndex, guid); | ||||
else | if (g_PlayerAssignments[guid]) | ||||
{ | |||||
g_PlayerAssignments[guid].player = playerIndex; | g_PlayerAssignments[guid].player = playerIndex; | ||||
this.updatePlayerAssignments(); | this.updatePlayerAssignments(); | ||||
} | } | ||||
} | |||||
/** | /** | ||||
* If both clients are assigned players, this will swap their assignments. | * If both clients are assigned players, this will swap their assignments. | ||||
*/ | */ | ||||
assignPlayer(guidToAssign, playerIndex) | assignPlayer(guidToAssign, playerIndex) | ||||
{ | { | ||||
if (g_PlayerAssignments[guidToAssign].player != -1) | if (g_PlayerAssignments[guidToAssign].player != -1) | ||||
{ | |||||
for (let guid in g_PlayerAssignments) | for (let guid in g_PlayerAssignments) | ||||
if (g_PlayerAssignments[guid].player == playerIndex + 1) | if (g_PlayerAssignments[guid].player == playerIndex + 1) | ||||
{ | { | ||||
this.assignClient(guid, g_PlayerAssignments[guidToAssign].player); | this.assignClient(guid, g_PlayerAssignments[guidToAssign].player); | ||||
break; | break; | ||||
} | } | ||||
} | |||||
this.assignClient(guidToAssign, playerIndex + 1); | this.assignClient(guidToAssign, playerIndex + 1); | ||||
if (!g_IsNetworked) | |||||
this.updatePlayerAssignments(); | |||||
} | } | ||||
unassignClient(playerID) | unassignClient(playerID) | ||||
{ | { | ||||
if (g_IsNetworked) | if (g_IsNetworked) | ||||
Engine.AssignNetworkPlayer(playerID, ""); | Engine.AssignNetworkPlayer(playerID, ""); | ||||
else if (g_PlayerAssignments.local.player == playerID) | else if (g_PlayerAssignments.local.player == playerID) | ||||
{ | { | ||||
g_PlayerAssignments.local.player = -1; | g_PlayerAssignments.local.player = -1; | ||||
this.updatePlayerAssignments(); | this.updatePlayerAssignments(); | ||||
} | } | ||||
} | } | ||||
unassignInvalidPlayers() | unassignInvalidPlayers() | ||||
{ | { | ||||
if (g_IsNetworked) | if (g_IsNetworked) | ||||
for (let playerID = g_GameAttributes.settings.PlayerData.length + 1; playerID <= g_MaxPlayers; ++playerID) | for (let playerID = g_NewGameSettings.playerCount.nbPlayers + 1; playerID <= g_MaxPlayers; ++playerID) | ||||
// Remove obsolete playerIDs from the servers playerassignments copy | // Remove obsolete playerIDs from the servers playerassignments copy | ||||
Engine.AssignNetworkPlayer(playerID, ""); | Engine.AssignNetworkPlayer(playerID, ""); | ||||
else if (g_PlayerAssignments.local.player > g_NewGameSettings.playerCount.nbPlayers) | |||||
else if (g_PlayerAssignments.local.player > g_GameAttributes.settings.PlayerData.length) | |||||
{ | { | ||||
g_PlayerAssignments.local.player = -1; | g_PlayerAssignments.local.player = -1; | ||||
this.updatePlayerAssignments(); | this.updatePlayerAssignments(); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
PlayerAssignmentsControl.prototype.ConfigNameSingleplayer = | PlayerAssignmentsControl.prototype.ConfigNameSingleplayer = | ||||
"playername.singleplayer"; | "playername.singleplayer"; |
Wildfire Games · Phabricator
Parsing error: Unexpected token .