18#ifndef INCLUDED_ICMPTEMPLATEMANAGER
19#define INCLUDED_ICMPTEMPLATEMANAGER
110 virtual std::vector<std::vector<std::wstring>>
GetCivData() = 0;
#define DECLARE_INTERFACE_TYPE(iname)
Definition: Interface.h:23
An entity initialisation parameter node.
Definition: ParamNode.h:151
Template manager: Handles the loading of entity template files for the initialisation and deserializa...
Definition: ICmpTemplateManager.h:34
virtual const CParamNode * GetTemplate(const std::string &templateName)=0
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files...
virtual void DisableValidation()=0
Permanently disable XML validation (intended solely for test cases).
virtual std::vector< std::vector< std::wstring > > GetCivData()=0
Returns some data of the civs from the templates.
virtual const CParamNode * LoadLatestTemplate(entity_id_t ent)=0
Returns the template most recently specified for the entity 'ent'.
virtual std::string GetCurrentTemplateName(entity_id_t ent) const =0
Returns the name of the template most recently specified for the entity 'ent'.
virtual std::vector< entity_id_t > GetEntitiesUsingTemplate(const std::string &templateName) const =0
Returns the list of entities having the specified template.
virtual bool TemplateExists(const std::string &templateName) const =0
Check if the template XML file exists, without trying to load it.
virtual const CParamNode * LoadTemplate(entity_id_t ent, const std::string &templateName)=0
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files...
virtual const CParamNode * GetTemplateWithoutValidation(const std::string &templateName)=0
Like GetTemplate, except without doing the XML validation (so it's faster but may return invalid temp...
virtual std::vector< std::string > FindAllTemplates(bool includeActors) const =0
Returns a list of strings that could be validly passed as templateName to LoadTemplate.
virtual std::vector< std::string > FindUsedTemplates() const =0
Returns a list of strings that could be validly passed as templateName to LoadTemplate.
Definition: IComponent.h:33
u32 entity_id_t
Entity ID type.
Definition: Entity.h:29