Rename TeamPlacement -> PlayerPlacement

This commit is contained in:
real_tabasco_sauce 2024-09-02 10:11:18 -07:00
parent bcf97b608b
commit fc17b7d55d
9 changed files with 81 additions and 81 deletions

View File

@ -1,4 +1,4 @@
GameSettings.prototype.Attributes.TeamPlacement = class TeamPlacement extends GameSetting
GameSettings.prototype.Attributes.PlayerPlacement = class PlayerPlacement extends GameSetting
{
init()
{
@ -10,25 +10,25 @@ GameSettings.prototype.Attributes.TeamPlacement = class TeamPlacement extends Ga
toInitAttributes(attribs)
{
if (this.value !== undefined)
attribs.settings.TeamPlacement = this.value;
attribs.settings.PlayerPlacement = this.value;
}
fromInitAttributes(attribs)
{
if (!!this.getLegacySetting(attribs, "TeamPlacement"))
this.value = this.getLegacySetting(attribs, "TeamPlacement");
if (!!this.getLegacySetting(attribs, "PlayerPlacement"))
this.value = this.getLegacySetting(attribs, "PlayerPlacement");
}
onMapChange()
{
if (!this.getMapSetting("TeamPlacements"))
if (!this.getMapSetting("PlayerPlacements"))
{
this.value = undefined;
this.available = undefined;
return;
}
// TODO: should probably validate that they fit one of the known schemes.
this.available = this.getMapSetting("TeamPlacements");
this.available = this.getMapSetting("PlayerPlacements");
this.value = "random";
}
@ -49,25 +49,25 @@ GameSettings.prototype.Attributes.TeamPlacement = class TeamPlacement extends Ga
};
GameSettings.prototype.Attributes.TeamPlacement.prototype.StartingPositions = [
GameSettings.prototype.Attributes.PlayerPlacement.prototype.StartingPositions = [
{
"Id": "radial",
"Name": translateWithContext("team placement", "Circle"),
"Name": translateWithContext("player placement", "Circle"),
"Description": translate("Allied players are grouped and placed with opposing players on one circle spanning the map.")
},
{
"Id": "line",
"Name": translateWithContext("team placement", "Line"),
"Name": translateWithContext("player placement", "Line"),
"Description": translate("Allied players are placed in a linear pattern."),
},
{
"Id": "randomGroup",
"Name": translateWithContext("team placement", "Random Group"),
"Name": translateWithContext("player placement", "Random Group"),
"Description": translate("Allied players are grouped, but otherwise placed randomly on the map."),
},
{
"Id": "stronghold",
"Name": translateWithContext("team placement", "Stronghold"),
"Name": translateWithContext("player placement", "Stronghold"),
"Description": translate("Allied players are grouped in one random place of the map."),
}
];

View File

@ -11,7 +11,7 @@ var g_GameSettingsLayout = [
"MapSelection",
"MapBrowser",
"MapSize",
"TeamPlacement",
"PlayerPlacement",
"Landscape",
"Biome",
"WaterLevel",

View File

@ -0,0 +1,64 @@
GameSettingControls.PlayerPlacement = class PlayerPlacement extends GameSettingControlDropdown
{
constructor(...args)
{
super(...args);
this.values = undefined;
g_GameSettings.playerPlacement.watch(() => this.render(), ["value", "available"]);
this.render();
}
onHoverChange()
{
this.dropdown.tooltip = this.values.Description[this.dropdown.hovered] || this.Tooltip;
}
render()
{
this.setHidden(!g_GameSettings.playerPlacement.value);
if (!g_GameSettings.playerPlacement.value)
return;
let randomItem = clone(this.RandomItem);
randomItem.Name = setStringTags(randomItem.Name, this.RandomItemTags);
let patterns = [randomItem];
for (let pattern of g_GameSettings.playerPlacement.available)
patterns.push(g_GameSettings.playerPlacement.StartingPositions
.find(pObj => pObj.Id == pattern));
this.values = prepareForDropdown(patterns);
this.dropdown.list = this.values.Name;
this.dropdown.list_data = this.values.Id;
this.setSelectedValue(g_GameSettings.playerPlacement.value);
}
getAutocompleteEntries()
{
return this.values && this.values.Name.slice(1);
}
onSelectionChange(itemIdx)
{
g_GameSettings.playerPlacement.setValue(this.values.Id[itemIdx]);
this.gameSettingsController.setNetworkInitAttributes();
}
};
GameSettingControls.PlayerPlacement.prototype.TitleCaption =
translate("Player Placement");
GameSettingControls.PlayerPlacement.prototype.Tooltip =
translate("Select one of the starting position patterns for this map.");
GameSettingControls.PlayerPlacement.prototype.RandomItem = {
"Id": "random",
"Name": translateWithContext("player placement", "Random"),
"Description": translateWithContext("player placement", "Select a random player placement pattern when starting the game.")
};
GameSettingControls.PlayerPlacement.prototype.AutocompleteOrder = 0;

View File

@ -1,64 +0,0 @@
GameSettingControls.TeamPlacement = class TeamPlacement extends GameSettingControlDropdown
{
constructor(...args)
{
super(...args);
this.values = undefined;
g_GameSettings.teamPlacement.watch(() => this.render(), ["value", "available"]);
this.render();
}
onHoverChange()
{
this.dropdown.tooltip = this.values.Description[this.dropdown.hovered] || this.Tooltip;
}
render()
{
this.setHidden(!g_GameSettings.teamPlacement.value);
if (!g_GameSettings.teamPlacement.value)
return;
let randomItem = clone(this.RandomItem);
randomItem.Name = setStringTags(randomItem.Name, this.RandomItemTags);
let patterns = [randomItem];
for (let pattern of g_GameSettings.teamPlacement.available)
patterns.push(g_GameSettings.teamPlacement.StartingPositions
.find(pObj => pObj.Id == pattern));
this.values = prepareForDropdown(patterns);
this.dropdown.list = this.values.Name;
this.dropdown.list_data = this.values.Id;
this.setSelectedValue(g_GameSettings.teamPlacement.value);
}
getAutocompleteEntries()
{
return this.values && this.values.Name.slice(1);
}
onSelectionChange(itemIdx)
{
g_GameSettings.teamPlacement.setValue(this.values.Id[itemIdx]);
this.gameSettingsController.setNetworkInitAttributes();
}
};
GameSettingControls.TeamPlacement.prototype.TitleCaption =
translate("Team Placement");
GameSettingControls.TeamPlacement.prototype.Tooltip =
translate("Select one of the starting position patterns of this map.");
GameSettingControls.TeamPlacement.prototype.RandomItem = {
"Id": "random",
"Name": translateWithContext("team placement", "Random"),
"Description": translateWithContext("team placement", "Select a random team placement pattern when starting the game.")
};
GameSettingControls.TeamPlacement.prototype.AutocompleteOrder = 0;

View File

@ -20,7 +20,7 @@ function* GenerateMap(mapSettings)
yield 10;
const pattern = mapSettings.TeamPlacement ||
const pattern = mapSettings.PlayerPlacement ||
pickRandom(["line", "radial", "randomGroup", "stronghold"]);
const [playerIDs, playerPosition] =
createBases(

View File

@ -6,6 +6,6 @@
"Preview" : "ambush.png",
"SupportedBiomes": "generic/",
"CircularMap" : true,
"TeamPlacements": ["radial", "line", "randomGroup", "stronghold"]
"PlayerPlacements": ["radial", "line", "randomGroup", "stronghold"]
}
}

View File

@ -24,7 +24,7 @@ function* GenerateMap(mapSettings)
if (!isNomad())
{
// Note: `|| pickRandom(...)` is needed for atlas.
const pattern = mapSettings.TeamPlacement ||
const pattern = mapSettings.PlayerPlacement ||
pickRandom(["line", "radial", "randomGroup", "stronghold"]);
createBases(
...playerPlacementByPattern(

View File

@ -6,6 +6,6 @@
"Preview" : "frontier.png",
"SupportedBiomes": "generic/",
"CircularMap" : true,
"TeamPlacements": ["radial", "line", "randomGroup", "stronghold"]
"PlayerPlacements": ["radial", "line", "randomGroup", "stronghold"]
}
}

View File

@ -610,7 +610,7 @@ function getTeamsArray()
function playerPlacementByPattern(patternName, distance = undefined, groupedDistance = undefined, angle = undefined, center = undefined)
{
if (patternName === undefined)
patternName = g_MapSettings.TeamPlacement;
patternName = g_MapSettings.PlayerPlacement;
switch (patternName)
{