18 #ifndef INCLUDED_ICMPTEMPLATEMANAGER
19 #define INCLUDED_ICMPTEMPLATEMANAGER
121 #endif // INCLUDED_ICMPTEMPLATEMANAGER
An entity initialisation parameter node.
virtual void DisableValidation()=0
Permanently disable XML validation (intended solely for test cases).
virtual const CParamNode * GetTemplate(std::string templateName)=0
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files...
virtual std::vector< entity_id_t > GetEntitiesUsingTemplate(std::string templateName)=0
Returns the list of entities having the specified template.
virtual const CParamNode * GetTemplateWithoutValidation(std::string templateName)=0
Like GetTemplate, except without doing the XML validation (so it's faster but may return invalid temp...
#define DECLARE_INTERFACE_TYPE(iname)
virtual std::vector< std::string > FindAllTemplates(bool includeActors)=0
Returns a list of strings that could be validly passed as templateName to LoadTemplate.
Template manager: Handles the loading of entity template files for the initialisation and deserializa...
virtual const CParamNode * LoadTemplate(entity_id_t ent, const std::string &templateName, int playerID)=0
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files...
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)=0
Returns the name of the template most recently specified for the entity 'ent'.
u32 entity_id_t
Entity ID type.