Pyrogenesis
trunk
|
Public Member Functions | |
int | GetComponentTypeId () const override |
void | Init (const CParamNode ¶mNode) override |
void | Deinit () override |
void | Serialize (ISerializer &serialize) override |
void | Deserialize (const CParamNode ¶mNode, IDeserializer &deserialize) override |
void | HandleMessage (const CMessage &msg, bool global) override |
void | DisableValidation () override |
Permanently disable XML validation (intended solely for test cases). More... | |
const CParamNode * | LoadTemplate (entity_id_t ent, const std::string &templateName) override |
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files) for use with a new entity 'ent'. More... | |
const CParamNode * | GetTemplate (const std::string &templateName) override |
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files). More... | |
const CParamNode * | GetTemplateWithoutValidation (const std::string &templateName) override |
Like GetTemplate, except without doing the XML validation (so it's faster but may return invalid templates). More... | |
bool | TemplateExists (const std::string &templateName) const override |
Check if the template XML file exists, without trying to load it. More... | |
const CParamNode * | LoadLatestTemplate (entity_id_t ent) override |
Returns the template most recently specified for the entity 'ent'. More... | |
std::string | GetCurrentTemplateName (entity_id_t ent) const override |
Returns the name of the template most recently specified for the entity 'ent'. More... | |
std::vector< std::string > | FindAllTemplates (bool includeActors) const override |
Returns a list of strings that could be validly passed as templateName to LoadTemplate. More... | |
std::vector< std::vector< std::wstring > > | GetCivData () override |
Returns some data of the civs from the templates. More... | |
std::vector< std::string > | FindUsedTemplates () const override |
Returns a list of strings that could be validly passed as templateName to LoadTemplate. More... | |
std::vector< entity_id_t > | GetEntitiesUsingTemplate (const std::string &templateName) const override |
Get the list of entities using the specified template. More... | |
Public Member Functions inherited from IComponent | |
virtual | ~IComponent () |
CEntityHandle | GetEntityHandle () const |
void | SetEntityHandle (CEntityHandle ent) |
entity_id_t | GetEntityId () const |
CEntityHandle | GetSystemEntity () const |
const CSimContext & | GetSimContext () const |
void | SetSimContext (const CSimContext &context) |
virtual bool | NewJSObject (const ScriptInterface &scriptInterface, JS::MutableHandleObject out) const |
Returns false by default, indicating that a scripted wrapper of this IComponent is not supported. More... | |
virtual JS::Value | GetJSInstance () const |
Static Public Member Functions | |
static void | ClassInit (CComponentManager &componentManager) |
static IComponent * | Allocate (const ScriptInterface &, JS::HandleValue) |
static void | Deallocate (IComponent *cmp) |
static std::string | GetSchema () |
Static Public Member Functions inherited from IComponent | |
static std::string | GetSchema () |
static void | RegisterComponentType (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema) |
static void | RegisterComponentTypeScriptWrapper (CComponentManager &mgr, EInterfaceId iid, EComponentTypeId cid, AllocFunc alloc, DeallocFunc dealloc, const char *name, const std::string &schema) |
static u8 | GetSerializationVersion () |
Private Attributes | |
CTemplateLoader | m_templateLoader |
RelaxNGValidator | m_Validator |
bool | m_DisableValidation |
std::map< std::string, bool > | m_TemplateSchemaValidity |
std::map< entity_id_t, std::string > | m_LatestTemplates |
Additional Inherited Members | |
Public Types inherited from IComponent | |
using | AllocFunc = IComponent *(*)(const ScriptInterface &scriptInterface, JS::HandleValue ctor) |
using | DeallocFunc = void(*)(IComponent *) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlineoverridevirtual |
Implements IComponent.
|
inlineoverridevirtual |
Implements IComponent.
|
inlineoverridevirtual |
Permanently disable XML validation (intended solely for test cases).
Implements ICmpTemplateManager.
|
overridevirtual |
Returns a list of strings that could be validly passed as templateName
to LoadTemplate.
(This includes "actor|foo" etc names). Intended for use by the map editor. This is likely to be quite slow.
Implements ICmpTemplateManager.
|
overridevirtual |
Returns a list of strings that could be validly passed as templateName
to LoadTemplate.
Intended for use by the AI manager.
Implements ICmpTemplateManager.
|
overridevirtual |
Returns some data of the civs from the templates.
Intended for use by the map editor.
Implements ICmpTemplateManager.
|
inlineoverridevirtual |
Implements IComponent.
|
overridevirtual |
Returns the name of the template most recently specified for the entity 'ent'.
Implements ICmpTemplateManager.
|
overridevirtual |
Get the list of entities using the specified template.
Implements ICmpTemplateManager.
|
inlinestatic |
|
overridevirtual |
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files).
The templateName syntax is the same as LoadTemplate.
Implements ICmpTemplateManager.
|
overridevirtual |
Like GetTemplate, except without doing the XML validation (so it's faster but may return invalid templates).
Implements ICmpTemplateManager.
|
inlineoverridevirtual |
Reimplemented from IComponent.
|
inlineoverridevirtual |
Implements IComponent.
|
overridevirtual |
Returns the template most recently specified for the entity 'ent'.
Used during deserialization.
Implements ICmpTemplateManager.
|
overridevirtual |
Loads the template XML file identified by 'templateName' (including inheritance from parent XML files) for use with a new entity 'ent'.
The returned CParamNode must not be used for any entities other than 'ent'.
If templateName is of the form "actor|foo" then it will load a default stationary entity template that uses actor "foo". (This is a convenience to avoid the need for hundreds of tiny decorative-object entity templates.)
If templateName is of the form "preview|foo" then it will load a template based on entity template "foo" with the non-graphical components removed. (This is for previewing construction/placement of units.)
If templateName is of the form "corpse|foo" then it will load a template like "preview|foo" but with corpse-related components included.
If templateName is of the form "foundation|foo" then it will load a template based on entity template "foo" with various components removed and a few changed and added. (This is for constructing foundations of buildings.)
Implements ICmpTemplateManager.
|
inlineoverridevirtual |
Implements IComponent.
|
overridevirtual |
Check if the template XML file exists, without trying to load it.
Implements ICmpTemplateManager.
|
private |
|
private |
|
private |
|
private |
|
private |