| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #include <glog/logging.h>
- #include <boost/foreach.hpp>
- #include "Base/Marcos.h"
- #include "BehaviorTree/SequenceNode.h"
- namespace Egametang {
- SequenceNode::~SequenceNode()
- {
- foreach(NodeIf* node, nodes)
- {
- delete node;
- }
- }
- bool SequenceNode::Run(ContexIf* contex)
- {
- foreach(NodeIf* node, nodes)
- {
- if (!node->Run(contex))
- {
- return false;
- }
- }
- return true;
- }
- void SequenceNode::AddChildNode(NodeIf *node)
- {
- nodes.push_back(node);
- }
- std::string SequenceNode::ToString()
- {
- std::string s;
- s += "SequenceNode: \n";
- foreach(NodeIf* node, nodes)
- {
- s += " " + node->ToString() + "\n";
- }
- return s;
- }
- NodeIf* SequenceNodeFactory::GetInstance(const BehaviorNodeConf& conf)
- {
- return new SequenceNode();
- }
- } // namespace Egametang
|