 |
CUGL 1.3
Cornell University Game Library
|
45 #ifndef __CU_BEHAVIOR_MANAGER_H__
46 #define __CU_BEHAVIOR_MANAGER_H__
47 #include <cugl/ai/behavior/CUBehaviorNode.h>
48 #include <cugl/ai/behavior/CUBehaviorAction.h>
49 #include <unordered_map>
78 std::unordered_map<std::string, std::shared_ptr<BehaviorNode>>
_trees;
84 #pragma mark Constructors
128 bool init(Uint32 seed);
138 static std::shared_ptr<BehaviorManager>
alloc() {
139 std::shared_ptr<BehaviorManager> result = std::make_shared<BehaviorManager>();
140 return (result->init() ? result :
nullptr);
152 static std::shared_ptr<BehaviorManager>
alloc(Uint32 seed) {
153 std::shared_ptr<BehaviorManager> result = std::make_shared<BehaviorManager>();
154 return (result->init(seed) ? result :
nullptr);
158 #pragma mark Tree Management
214 return getTree(std::string(name));
235 bool addTree(
const std::shared_ptr<BehaviorNodeDef>& treedef);
257 bool addTree(
const std::string& name,
const std::shared_ptr<BehaviorNodeDef>& treedef);
279 bool addTree(
const char* name,
const std::shared_ptr<BehaviorNodeDef>& treedef) {
280 return addTree(std::string(name),treedef);
301 #pragma mark Behavior Management
402 std::shared_ptr<BehaviorNode> createTree(
const std::shared_ptr<BehaviorNodeDef>& treedef);
bool addTree(const char *name, const std::shared_ptr< BehaviorNodeDef > &treedef)
Definition: CUBehaviorManager.h:279
void resumeTree(const std::string &name)
bool containsTree(const std::string &name) const
void removeTree(const std::string &name)
~BehaviorManager()
Definition: CUBehaviorManager.h:99
std::minstd_rand _random
Definition: CUBehaviorManager.h:81
Definition: CUBehaviorNode.h:280
bool containsTree(const char *name) const
Definition: CUBehaviorManager.h:181
BehaviorManager()
Definition: CUBehaviorManager.h:92
BehaviorNode::State getTreeState(const std::string &name) const
Definition: CUBehaviorManager.h:296
static std::shared_ptr< BehaviorManager > alloc()
Definition: CUBehaviorManager.h:138
const BehaviorNode * getTree(const char *name) const
Definition: CUBehaviorManager.h:213
bool addTree(const std::shared_ptr< BehaviorNodeDef > &treedef)
const BehaviorNode * getTree(const std::string &name) const
void pauseTree(const std::string &name)
void startTree(const std::string &name)
State
Definition: CUBehaviorNode.h:290
void resetTree(const std::string &name)
Definition: CUBehaviorManager.h:74
BehaviorNode::State getState() const
Definition: CUBehaviorNode.h:395
static std::shared_ptr< BehaviorManager > alloc(Uint32 seed)
Definition: CUBehaviorManager.h:152
std::unordered_map< std::string, std::shared_ptr< BehaviorNode > > _trees
Definition: CUBehaviorManager.h:78