CEL

Public API Reference

iCelEntityTemplate Struct Reference

This is an entity template. More...

#include <physicallayer/entitytpl.h>

Inheritance diagram for iCelEntityTemplate:

List of all members.

Public Member Functions

virtual void AddClass (csStringID cls)=0
 Add a class to this entity.
virtual void AddMessage (csStringID msgid, csHash< csRef< iParameter >, csStringID > &params)=0
 Add a message to be sent to the created behaviour.
virtual void AddParent (iCelEntityTemplate *tpl)=0
 Add a parent template to this one.
virtual iCelPropertyClassTemplateCreatePropertyClassTemplate ()=0
 Create a new property class template for this entity.
virtual iCelPropertyClassTemplateFindPropertyClassTemplate (const char *name, const char *tag)=0
 Find a certain property class template.
virtual const char * GetBehaviour () const =0
 Get the behaviour for this template.
virtual const char * GetBehaviourLayer () const =0
 Get the layer for this template.
virtual iTemplateCharacteristicsGetCharacteristics ()=0
 Get the template characteristics interface for this template.
virtual const csSet< csStringID > & GetClasses () const =0
 Return the set of classes for this entity.
virtual csRef
< iCelParameterIterator
GetMessage (size_t idx, csStringID &id) const =0
 Get a message.
virtual size_t GetMessageCount () const =0
 Get the number of messages.
virtual const char * GetName () const =0
 Get the name of this template.
virtual csPtr
< iCelEntityTemplateIterator
GetParents () const =0
 Get the parents of this template.
virtual iCelPropertyClassTemplateGetPropertyClassTemplate (size_t idx) const =0
 Get a specific property class template.
virtual size_t GetPropertyClassTemplateCount () const =0
 Get the amount of property class templates.
virtual bool HasClass (csStringID cls)=0
 Check if this entity belongs to some class.
virtual void Merge (iCelEntityTemplate *tpl)=0
 Merge another template into this one.
virtual iObjectQueryObject ()=0
 Get the iObject for this entity template.
virtual void RemoveClass (csStringID cls)=0
 Remove a class from this entity.
virtual void RemoveClasses ()=0
 Remove all classes.
virtual void RemoveParent (iCelEntityTemplate *tpl)=0
 Remove a parent.
virtual void RemoveParents ()=0
 Remove all parents.
virtual void RemovePropertyClassTemplate (iCelPropertyClassTemplate *tpl)=0
 Remove a specific property class template.
virtual void RemovePropertyClassTemplate (size_t idx)=0
 Remove a specific property class template.
virtual void SetBehaviour (const char *layer, const char *behaviour)=0
 Set the behaviour associated with this template.
virtual void SetName (const char *n)=0
 Set the name of this template.

Detailed Description

This is an entity template.

It can be used to create other entities.

Definition at line 80 of file entitytpl.h.


Member Function Documentation

virtual void iCelEntityTemplate::AddClass ( csStringID  cls  )  [pure virtual]

Add a class to this entity.

A class is an application defined attribute which indicates to what the entity belongs. It can be something like 'weapon' or 'creature' or whatever the application desires.

virtual void iCelEntityTemplate::AddMessage ( csStringID  msgid,
csHash< csRef< iParameter >, csStringID > &  params 
) [pure virtual]

Add a message to be sent to the created behaviour.

Note that all messages will be sent after all properties and property classes are created.

virtual void iCelEntityTemplate::AddParent ( iCelEntityTemplate tpl  )  [pure virtual]

Add a parent template to this one.

When creating an entity from this template the parent templates are applied first in the order that they were added. This is different from Merge() since the parent templates are only used at the time the entities are created so every change that is done to the parent template will still have an effect.

virtual iCelPropertyClassTemplate* iCelEntityTemplate::CreatePropertyClassTemplate (  )  [pure virtual]

Create a new property class template for this entity.

virtual iCelPropertyClassTemplate* iCelEntityTemplate::FindPropertyClassTemplate ( const char *  name,
const char *  tag 
) [pure virtual]

Find a certain property class template.

virtual const char* iCelEntityTemplate::GetBehaviour (  )  const [pure virtual]

Get the behaviour for this template.

virtual const char* iCelEntityTemplate::GetBehaviourLayer (  )  const [pure virtual]

Get the layer for this template.

virtual iTemplateCharacteristics* iCelEntityTemplate::GetCharacteristics (  )  [pure virtual]

Get the template characteristics interface for this template.

virtual const csSet<csStringID>& iCelEntityTemplate::GetClasses (  )  const [pure virtual]

Return the set of classes for this entity.

virtual csRef<iCelParameterIterator> iCelEntityTemplate::GetMessage ( size_t  idx,
csStringID id 
) const [pure virtual]

Get a message.

virtual size_t iCelEntityTemplate::GetMessageCount (  )  const [pure virtual]

Get the number of messages.

virtual const char* iCelEntityTemplate::GetName (  )  const [pure virtual]

Get the name of this template.

Returns:
A pointer to the name of this template.
virtual csPtr<iCelEntityTemplateIterator> iCelEntityTemplate::GetParents (  )  const [pure virtual]

Get the parents of this template.

virtual iCelPropertyClassTemplate* iCelEntityTemplate::GetPropertyClassTemplate ( size_t  idx  )  const [pure virtual]

Get a specific property class template.

virtual size_t iCelEntityTemplate::GetPropertyClassTemplateCount (  )  const [pure virtual]

Get the amount of property class templates.

virtual bool iCelEntityTemplate::HasClass ( csStringID  cls  )  [pure virtual]

Check if this entity belongs to some class.

virtual void iCelEntityTemplate::Merge ( iCelEntityTemplate tpl  )  [pure virtual]

Merge another template into this one.

This physically merges all information from the other template into this one without leaving any trace that this merge has occured (this contrasts with AddParent() below).

virtual iObject* iCelEntityTemplate::QueryObject (  )  [pure virtual]

Get the iObject for this entity template.

Returns:
A pointer to the iObject for this entity.
virtual void iCelEntityTemplate::RemoveClass ( csStringID  cls  )  [pure virtual]

Remove a class from this entity.

virtual void iCelEntityTemplate::RemoveClasses (  )  [pure virtual]

Remove all classes.

virtual void iCelEntityTemplate::RemoveParent ( iCelEntityTemplate tpl  )  [pure virtual]

Remove a parent.

virtual void iCelEntityTemplate::RemoveParents (  )  [pure virtual]

Remove all parents.

virtual void iCelEntityTemplate::RemovePropertyClassTemplate ( iCelPropertyClassTemplate tpl  )  [pure virtual]

Remove a specific property class template.

virtual void iCelEntityTemplate::RemovePropertyClassTemplate ( size_t  idx  )  [pure virtual]

Remove a specific property class template.

virtual void iCelEntityTemplate::SetBehaviour ( const char *  layer,
const char *  behaviour 
) [pure virtual]

Set the behaviour associated with this template.

Parameters:
layer is the name of the behaviour layer (optional, can be 0 for default).
behaviour is the name of the behaviour.
virtual void iCelEntityTemplate::SetName ( const char *  n  )  [pure virtual]

Set the name of this template.

Parameters:
n A pointer to the name to set for this template.

The documentation for this struct was generated from the following file:

Generated for CEL: Crystal Entity Layer 2.1 by doxygen 1.6.1