Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/TechnologyManager.js
Show First 20 Lines • Show All 270 Lines • ▼ Show 20 Lines | |||||
}; | }; | ||||
// Checks an entity template to see if its technology requirements have been met | // Checks an entity template to see if its technology requirements have been met | ||||
TechnologyManager.prototype.CanProduce = function(templateName) | TechnologyManager.prototype.CanProduce = function(templateName) | ||||
{ | { | ||||
var cmpTempManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); | var cmpTempManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); | ||||
var template = cmpTempManager.GetTemplate(templateName); | var template = cmpTempManager.GetTemplate(templateName); | ||||
if (template.Identity && template.Identity.RequiredTechnology) | if (template.Identity?.Requirements) | ||||
return this.IsTechnologyResearched(template.Identity.RequiredTechnology); | return RequirementsHelper.AreRequirementsMet(template.Identity.Requirements, Engine.QueryInterface(this.entity, IID_Player).GetPlayerID()); | ||||
// If there is no required technology then this entity can be produced | // If there is no required technology then this entity can be produced | ||||
return true; | return true; | ||||
}; | }; | ||||
TechnologyManager.prototype.IsTechnologyQueued = function(tech) | TechnologyManager.prototype.IsTechnologyQueued = function(tech) | ||||
{ | { | ||||
return this.researchQueued.has(tech); | return this.researchQueued.has(tech); | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 264 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator