CEL

Public API Reference

iBTNode Struct Reference

This is a node of a behaviour tree. More...

#include <tools/behaviourtree.h>

Inheritance diagram for iBTNode:

List of all members.

Public Member Functions

virtual bool AddChild (iBTNode *child)=0
 Add a child node to this node.
virtual BTStatus Execute (iCelParameterBlock *params, csRefArray< iBTNode > *BTStack=0)=0
 Execute this node.
virtual BTStatus GetStatus ()=0
 Get the status of this node.
virtual void SetName (csString nodeName)=0
 Set the name of this node for error reporting.
virtual void SetStatus (BTStatus newStatus)=0
 Set the status of this node.

Detailed Description

This is a node of a behaviour tree.

A behaviour tree allows to define the behaviour of an entity by combining behaviour nodes into a tree.

There are different type of nodes. The main leaf nodes of the tree are iBTAction nodes that fire actions (eg by sending a message to an entity or a property class). Non-action nodes are used to select the actions that will be executed.

Here is the list of different non-action nodes:

Definition at line 79 of file behaviourtree.h.


Member Function Documentation

virtual bool iBTNode::AddChild ( iBTNode child  )  [pure virtual]

Add a child node to this node.

virtual BTStatus iBTNode::Execute ( iCelParameterBlock params,
csRefArray< iBTNode > *  BTStack = 0 
) [pure virtual]

Execute this node.

Return whether or not the execution of the node was successful.

virtual BTStatus iBTNode::GetStatus (  )  [pure virtual]

Get the status of this node.

virtual void iBTNode::SetName ( csString  nodeName  )  [pure virtual]

Set the name of this node for error reporting.

virtual void iBTNode::SetStatus ( BTStatus  newStatus  )  [pure virtual]

Set the status of this node.


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

Generated for CEL: Crystal Entity Layer 2.1 by doxygen 1.6.1