Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/gui/session/selection_panels.js
Show First 20 Lines • Show All 213 Lines • ▼ Show 20 Lines | "getMaxNumberOfItems": function() | ||||
return 24 - getNumberOfRightPanelButtons(); | return 24 - getNumberOfRightPanelButtons(); | ||||
}, | }, | ||||
"getItems": function() | "getItems": function() | ||||
{ | { | ||||
return getAllBuildableEntitiesFromSelection(); | return getAllBuildableEntitiesFromSelection(); | ||||
}, | }, | ||||
"setupButton": function(data) | "setupButton": function(data) | ||||
{ | { | ||||
let template = GetTemplateData(data.item); | let template = GetTemplateData(data.item, data.player); | ||||
if (!template) | if (!template) | ||||
return false; | return false; | ||||
let technologyEnabled = Engine.GuiInterfaceCall("IsTechnologyResearched", { | let technologyEnabled = Engine.GuiInterfaceCall("IsTechnologyResearched", { | ||||
"tech": template.requiredTechnology, | "tech": template.requiredTechnology, | ||||
"player": data.player | "player": data.player | ||||
}); | }); | ||||
let neededResources; | let neededResources; | ||||
if (template.cost) | if (template.cost) | ||||
neededResources = Engine.GuiInterfaceCall("GetNeededResources", { | neededResources = Engine.GuiInterfaceCall("GetNeededResources", { | ||||
"cost": multiplyEntityCosts(template, 1), | "cost": multiplyEntityCosts(template, 1), | ||||
"player": data.player | "player": data.player | ||||
}); | }); | ||||
data.button.onPress = function() { startBuildingPlacement(data.item, data.playerState); }; | data.button.onPress = function() { startBuildingPlacement(data.item, data.playerState); }; | ||||
data.button.onPressRight = function() { showTemplateDetails(data.item); }; | data.button.onPressRight = function() { showTemplateDetails(data.item); }; | ||||
let tooltips = [ | let tooltips = [ | ||||
getEntityNamesFormatted, | getEntityNamesFormatted, | ||||
getVisibleEntityClassesFormatted, | getVisibleEntityClassesFormatted, | ||||
getAurasTooltip, | getAurasTooltip, | ||||
getEntityTooltip, | getEntityTooltip | ||||
getEntityCostTooltip, | |||||
getGarrisonTooltip, | |||||
getPopulationBonusTooltip, | |||||
showTemplateViewerOnRightClickTooltip | |||||
].map(func => func(template)); | ].map(func => func(template)); | ||||
tooltips.push( | |||||
getEntityCostTooltip(template, undefined, undefined, undefined, undefined, data.player), | |||||
getGarrisonTooltip(template), | |||||
getPopulationBonusTooltip(template), | |||||
showTemplateViewerOnRightClickTooltip(template) | |||||
); | |||||
let limits = getEntityLimitAndCount(data.playerState, data.item); | let limits = getEntityLimitAndCount(data.playerState, data.item); | ||||
tooltips.push( | tooltips.push( | ||||
formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers), | formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers), | ||||
getRequiredTechnologyTooltip(technologyEnabled, template.requiredTechnology, GetSimState().players[data.player].civ), | getRequiredTechnologyTooltip(technologyEnabled, template.requiredTechnology, GetSimState().players[data.player].civ), | ||||
getNeededResourcesTooltip(neededResources)); | getNeededResourcesTooltip(neededResources)); | ||||
data.button.tooltip = tooltips.filter(tip => tip).join("\n"); | data.button.tooltip = tooltips.filter(tip => tip).join("\n"); | ||||
▲ Show 20 Lines • Show All 668 Lines • ▼ Show 20 Lines | "getMaxNumberOfItems": function() | ||||
return 24 - getNumberOfRightPanelButtons(); | return 24 - getNumberOfRightPanelButtons(); | ||||
}, | }, | ||||
"getItems": function() | "getItems": function() | ||||
{ | { | ||||
return getAllTrainableEntitiesFromSelection(); | return getAllTrainableEntitiesFromSelection(); | ||||
}, | }, | ||||
"setupButton": function(data) | "setupButton": function(data) | ||||
{ | { | ||||
let template = GetTemplateData(data.item); | let template = GetTemplateData(data.item, data.player); | ||||
if (!template) | if (!template) | ||||
return false; | return false; | ||||
let technologyEnabled = Engine.GuiInterfaceCall("IsTechnologyResearched", { | let technologyEnabled = Engine.GuiInterfaceCall("IsTechnologyResearched", { | ||||
"tech": template.requiredTechnology, | "tech": template.requiredTechnology, | ||||
"player": data.player | "player": data.player | ||||
}); | }); | ||||
Show All 22 Lines | "setupButton": function(data) | ||||
let tooltips = [ | let tooltips = [ | ||||
"[font=\"sans-bold-16\"]" + | "[font=\"sans-bold-16\"]" + | ||||
colorizeHotkey("%(hotkey)s", "session.queueunit." + (data.i + 1)) + | colorizeHotkey("%(hotkey)s", "session.queueunit." + (data.i + 1)) + | ||||
"[/font]" + " " + getEntityNamesFormatted(template), | "[/font]" + " " + getEntityNamesFormatted(template), | ||||
getVisibleEntityClassesFormatted(template), | getVisibleEntityClassesFormatted(template), | ||||
getAurasTooltip(template), | getAurasTooltip(template), | ||||
getEntityTooltip(template), | getEntityTooltip(template), | ||||
getEntityCostTooltip(template, unitIds[0], buildingsCountToTrainFullBatch, fullBatchSize, remainderBatch) | getEntityCostTooltip(template, unitIds[0], buildingsCountToTrainFullBatch, fullBatchSize, remainderBatch, data.player) | ||||
]; | ]; | ||||
let limits = getEntityLimitAndCount(data.playerState, data.item); | let limits = getEntityLimitAndCount(data.playerState, data.item); | ||||
tooltips.push(formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers)); | tooltips.push(formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers)); | ||||
if (Engine.ConfigDB_GetValue("user", "showdetailedtooltips") === "true") | if (Engine.ConfigDB_GetValue("user", "showdetailedtooltips") === "true") | ||||
tooltips = tooltips.concat([ | tooltips = tooltips.concat([ | ||||
getHealthTooltip, | getHealthTooltip, | ||||
getAttackTooltip, | getAttackTooltip, | ||||
getSplashDamageTooltip, | getSplashDamageTooltip, | ||||
▲ Show 20 Lines • Show All 196 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator