Add missing translate call to the upgrade tooltip and fix a newline removed by b5340a19ad which was only needed by the resource tooltip. Reported by fatherbushido.

Merge duplicate technology requirement tooltips.

This was SVN commit r18865.
This commit is contained in:
elexis 2016-10-26 23:19:19 +00:00
parent f74639e7d9
commit f37faa57e3
3 changed files with 34 additions and 36 deletions

View File

@ -339,6 +339,7 @@ function getEntityCostComponentsTooltipString(template, trainNum, entity)
return costs;
}
function getGatherTooltip(template)
{
if (!template.gather)
@ -356,6 +357,16 @@ function getGatherTooltip(template)
});
}
function getRequiredTechnologyTooltip(technologyEnabled, requiredTechnology)
{
if (technologyEnabled)
return "";
return sprintf(translate("Requires %(technology)s"), {
"technology": getEntityNames(GetTechnologyData(requiredTechnology))
});
}
/**
* Returns an array of strings for a set of wall pieces. If the pieces share
* resource type requirements, output will be of the form '10 to 30 Stone',

View File

@ -687,10 +687,11 @@ function handleInputBeforeGui(ev, hoveredObject)
if (result && result.cost)
{
placementSupport.tooltipMessage = getEntityCostTooltip(result);
var neededResources = Engine.GuiInterfaceCall("GetNeededResources", { "cost": result.cost });
if (neededResources)
placementSupport.tooltipMessage += getNeededResourcesTooltip(neededResources);
placementSupport.tooltipMessage = [
getEntityCostTooltip(result),
getNeededResourcesTooltip(neededResources)
].filter(tip => tip).join("\n");
}
break;
@ -716,9 +717,7 @@ function handleInputBeforeGui(ev, hoveredObject)
}
}
else
{
placementSupport.tooltipMessage = translate("Cannot build wall here!");
}
updateBuildingPlacementPreview();
return true;

View File

@ -344,14 +344,10 @@ g_SelectionPanels.Construction = {
].map(func => func(template));
let limits = getEntityLimitAndCount(data.playerState, data.item);
tooltips.push(formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers));
if (!technologyEnabled)
tooltips.push(sprintf(translate("Requires %(technology)s"), {
"technology": getEntityNames(GetTechnologyData(template.requiredTechnology))
}));
tooltips.push(getNeededResourcesTooltip(neededResources));
tooltips.push(
formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers),
getRequiredTechnologyTooltip(technologyEnabled, template.requiredTechnology),
getNeededResourcesTooltip(neededResources));
data.button.tooltip = tooltips.filter(tip => tip).join("\n");
@ -1058,15 +1054,9 @@ g_SelectionPanels.Training = {
tooltips.push(
"[color=\"" + g_HotkeyColor + "\"]" +
formatBatchTrainingString(buildingsCountToTrainFullBatch, fullBatchSize, remainderBatch) +
"[/color]");
if (!technologyEnabled)
tooltips.push(sprintf(translate("Requires %(technology)s"), {
"technology": getEntityNames(GetTechnologyData(template.requiredTechnology))
}));
if (neededResources)
tooltips.push(getNeededResourcesTooltip(neededResources));
"[/color]",
getRequiredTechnologyTooltip(technologyEnabled, template.requiredTechnology),
getNeededResourcesTooltip(neededResources));
data.button.tooltip = tooltips.filter(tip => tip).join("\n");
@ -1141,26 +1131,24 @@ g_SelectionPanels.Upgrade = {
let tooltip;
if (!progress)
{
let tooltips = [];
if (data.item.tooltip)
tooltip = sprintf(translate("Upgrade into a %(name)s. %(tooltip)s"), {
tooltips.push(sprintf(translate("Upgrade into a %(name)s. %(tooltip)s"), {
"name": template.name.generic,
"tooltip": data.item.tooltip
});
"tooltip": translate(data.item.tooltip)
}));
else
tooltip = sprintf(translate("Upgrade into a %(name)s."), {
tooltips.push(sprintf(translate("Upgrade into a %(name)s."), {
"name": template.name.generic
});
}));
if (data.item.cost)
tooltip += "\n" + getEntityCostTooltip(data.item);
tooltips.push(
getEntityCostTooltip(data.item),
formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers),
getRequiredTechnologyTooltip(technologyEnabled, data.item.requiredTechnology),
getNeededResourcesTooltip(neededResources));
tooltip += "\n" + formatLimitString(limits.entLimit, limits.entCount, limits.entLimitChangers);
if (!technologyEnabled)
tooltip += "\n" + sprintf(translate("Requires %(technology)s"), {
"technology": getEntityNames(GetTechnologyData(data.item.requiredTechnology))
});
tooltip += getNeededResourcesTooltip(neededResources);
tooltip = tooltips.filter(tip => tip).join("\n");
data.button.onPress = function() { upgradeEntity(data.item.entity); };
}