Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/helpers/Player.js
var randColor = [ | |||||
[0, 255, 255], | |||||
[240, 255, 255], | |||||
[245, 245, 220], | |||||
[0, 0, 0], | |||||
[0, 0, 255], | |||||
[165, 42, 42], | |||||
[0, 255, 255], | |||||
[0, 0, 139], | |||||
[0, 139, 139], | |||||
[169, 169, 169], | |||||
[0, 100, 0], | |||||
[189, 183, 107], | |||||
[139, 0, 139], | |||||
[85, 107, 47], | |||||
[255, 140, 0], | |||||
[153, 50, 204], | |||||
[139, 0, 0], | |||||
[233, 150, 122], | |||||
[148, 0, 211], | |||||
[255, 0, 255], | |||||
[255, 215, 0], | |||||
[0, 128, 0], | |||||
[75, 0, 130], | |||||
[240, 230, 140], | |||||
[173, 216, 230], | |||||
[224, 255, 255], | |||||
[144, 238, 144], | |||||
[211, 211, 211], | |||||
[255, 182, 193], | |||||
[255, 255, 224], | |||||
[0, 255, 0], | |||||
[255, 0, 255], | |||||
[128, 0, 0], | |||||
[0, 0, 128], | |||||
[128, 128, 0], | |||||
[255, 165, 0], | |||||
[255, 192, 203], | |||||
[128, 0, 128], | |||||
[128, 0, 128], | |||||
[255, 0, 0], | |||||
[192, 192, 192], | |||||
[255, 255, 255], | |||||
[255, 255, 0] | |||||
]; | |||||
/** | /** | ||||
* Used to create player entities prior to reading the rest of a map, | * Used to create player entities prior to reading the rest of a map, | ||||
* all other initialization must be done after loading map (terrain/entities). | * all other initialization must be done after loading map (terrain/entities). | ||||
* DO NOT use other components here, as they may fail unpredictably. | * DO NOT use other components here, as they may fail unpredictably. | ||||
* settings is the object containing settings for this map. | * settings is the object containing settings for this map. | ||||
* newPlayers if true will remove old player entities or add new ones until | * newPlayers if true will remove old player entities or add new ones until | ||||
* the new number of player entities is obtained | * the new number of player entities is obtained | ||||
* (used when loading a map or when Atlas changes the number of players). | * (used when loading a map or when Atlas changes the number of players). | ||||
Show All 29 Lines | if (newPlayers) | ||||
if (playerData) | if (playerData) | ||||
settingsNumPlayers = playerData.length; // includes gaia (see above) | settingsNumPlayers = playerData.length; // includes gaia (see above) | ||||
else | else | ||||
warn("Player.js: Setup has no player data - using defaults"); | warn("Player.js: Setup has no player data - using defaults"); | ||||
while (settingsNumPlayers > numPlayers) | while (settingsNumPlayers > numPlayers) | ||||
{ | { | ||||
// Use data from first player if not defined | |||||
if (playerDefaults[numPlayers] === undefined) | |||||
{ | |||||
let playerN = Object.assign({}, playerDefaults[1]) | |||||
let color = randColor[numPlayers % randColor.length]; | |||||
playerN.Name = "Player " + numPlayers | |||||
playerN.Color = { | |||||
"r": color[0], | |||||
"g": color[1], | |||||
"b": color[2] | |||||
} | |||||
playerDefaults[numPlayers] = playerN; | |||||
} | |||||
// Add player entity to engine | // Add player entity to engine | ||||
var entID = Engine.AddEntity(GetPlayerTemplateName(getSetting(playerData, playerDefaults, numPlayers, "Civ"))); | var entID = Engine.AddEntity(GetPlayerTemplateName(getSetting(playerData, playerDefaults, numPlayers, "Civ"))); | ||||
var cmpPlayer = Engine.QueryInterface(entID, IID_Player); | var cmpPlayer = Engine.QueryInterface(entID, IID_Player); | ||||
if (!cmpPlayer) | if (!cmpPlayer) | ||||
throw new Error("Player.js: Error creating player entity " + numPlayers); | throw new Error("Player.js: Error creating player entity " + numPlayers); | ||||
cmpPlayerManager.AddPlayer(entID); | cmpPlayerManager.AddPlayer(entID); | ||||
++numPlayers; | ++numPlayers; | ||||
▲ Show 20 Lines • Show All 354 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator