SimpleAI
 All Classes Namespaces Files Functions Variables Typedefs Macros Groups Pages
Public Member Functions | List of all members
ai::Parallel Class Reference

Executes all the connected children in the order they were added (no matter what the TreeNodeStatus of the previous child was). More...

#include <Parallel.h>

Inheritance diagram for ai::Parallel:
[legend]
Collaboration diagram for ai::Parallel:
[legend]

Public Member Functions

void getRunningChildren (const AIPtr &entity, std::vector< bool > &active) const override
 Will only deliver valid results if the debugging for the given entity is active.
 
TreeNodeStatus execute (const AIPtr &entity, int64_t deltaMillis) override
 If one of the children was executed, and is still running, the ::TreeNodeStatus::RUNNING is returned, otherwise ::TreeNodeStatus::FINISHED is returned.
 
- Public Member Functions inherited from ai::TreeNode
 TreeNode (const std::string &name, const std::string &parameters, const ConditionPtr &condition)
 
int getId () const
 Return the unique id for this node. More...
 
const std::string & getName () const
 Each node can have a user defines name that can be retrieved with this method.
 
const std::string & getParameters () const
 Return the raw parameters for this node.
 
void setName (const std::string &name)
 Updates the custom name of this TreeNode. More...
 
const std::string & getType () const
 The node type - this usually matches the class name of the TreeNode.
 
const ConditionPtr & getCondition () const
 
void setCondition (const ConditionPtr &condition)
 
const TreeNodes & getChildren () const
 
TreeNodes & getChildren ()
 
int64_t getLastExecMillis (const AIPtr &ai) const
 Returns the time in milliseconds when this node was last run. This is only updated if execute() was called.
 
TreeNodeStatus getLastStatus (const AIPtr &ai) const
 
virtual void resetState (const AIPtr &entity)
 Reset the states in the node and also in the entity.
 
virtual bool addChild (const TreeNodePtr &child)
 
TreeNodePtr getChild (int id) const
 
bool replaceChild (int id, const TreeNodePtr &newNode)
 Replace the given child node with a new one (or removes it) More...
 
TreeNodePtr getParent (const TreeNodePtr &self, int id) const
 Get the parent node for a given TreeNode id - This should only be called on the root node of the behaviour. More...
 
- Public Member Functions inherited from ai::_MemObject< AllocatorClass >
void * operator new (size_t size)
 
void * operator new (size_t, void *ptr)
 
void * operator new[] (size_t size)
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete[] (void *ptr)
 

Additional Inherited Members

- Protected Member Functions inherited from ai::TreeNode
TreeNodeStatus state (const AIPtr &entity, TreeNodeStatus treeNodeState)
 
int getSelectorState (const AIPtr &entity) const
 
void setSelectorState (const AIPtr &entity, int selected)
 
int getLimitState (const AIPtr &entity) const
 
void setLimitState (const AIPtr &entity, int amount)
 
void setLastExecMillis (const AIPtr &entity)
 
TreeNodePtr getParent_r (const TreeNodePtr &parent, int id) const
 
- Static Protected Member Functions inherited from ai::TreeNode
static int getNextId ()
 
- Protected Attributes inherited from ai::TreeNode
int _id
 Every node has an id to identify it. It's unique per type.
 
TreeNodes _children
 
std::string _name
 
std::string _type
 
std::string _parameters
 
ConditionPtr _condition
 

Detailed Description

Executes all the connected children in the order they were added (no matter what the TreeNodeStatus of the previous child was).

http://aigamedev.com/open/article/parallel/


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