fix productionQueue failing to produce units while the upgrade tech is running

This was SVN commit r14471.
This commit is contained in:
sanderd17 2014-01-01 16:35:49 +00:00
parent 2197b80747
commit 9cf55a5ed0

View File

@ -93,9 +93,7 @@ ProductionQueue.prototype.CalculateEntitiesList = function()
var entitiesList = string.split(/\s+/);
// check if some templates need to show their advanced or elite version
var cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager);
var playerID = QueryOwnerInterface(this.entity, IID_Player).GetPlayerID();
for each (var templateName in entitiesList)
var upgradeTemplate = function(templateName)
{
var template = cmpTemplateManager.GetTemplate(templateName);
while (template.Promotion)
@ -106,7 +104,17 @@ ProductionQueue.prototype.CalculateEntitiesList = function()
templateName = template.Promotion.Entity;
template = cmpTemplateManager.GetTemplate(templateName);
}
this.entitiesList.push(templateName);
return templateName;
};
var cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager);
var playerID = QueryOwnerInterface(this.entity, IID_Player).GetPlayerID();
for each (var templateName in entitiesList)
this.entitiesList.push(upgradeTemplate(templateName));
for each (var item in this.queue)
{
if (item.unitTemplate)
item.unitTemplate = upgradeTemplate(item.unitTemplate);
}
};