CEL: Crystal Entity Layer: iCelEntityTemplate Struct Reference (CEL: Crystal Entity Layer Public API Reference)

| ## Public API Reference

- Main Page
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iCelEntityTemplate Struct Reference

This is an entity template. More...

`#include <physicallayer/entitytpl.h>`

List of all members.

## Public Member Functions
virtual void | AddClass (csStringID cls)=0
| Add a class to this entity.
virtual void | AddMessage (const char *msgid, iCelParameterBlock *params)=0
| Add a message to be sent to the created behaviour.
virtual iCelPropertyClassTemplate * | CreatePropertyClassTemplate ()=0
| Create a new property class template for this entity.
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 const csSet< csStringID > & | GetClasses () const =0
| Return the set of classes for this entity.
virtual const char * | GetName () const =0
| Get the name of this template.
virtual bool | HasClass (csStringID cls)=0
| Check if this entity belongs to some class.
virtual iObject * | QueryObject ()=0
| Get the iObject for this entity template.
virtual void | RemoveClass (csStringID cls)=0
| Remove a class from this entity.
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 43 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 | ( | const char * | msgid,
|  | iCelParameterBlock * | params |
| ) |  |  | `[pure virtual]`

Add a message to be sent to the created behaviour.

The parameters here support CEL_DATA_PARAMETER. Note that all messages will be sent after all properties and property classes are created.

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

Create a new property class template for this entity.

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 const csSet<csStringID>& iCelEntityTemplate::GetClasses | ( |  | ) | const`[pure virtual]`

Return the set of classes for this entity.

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

Get the name of this template.

Returns:
  A pointer to the name of this template.

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

Check if this entity belongs to some class.

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::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:

- physicallayer/entitytpl.h