diff options
Diffstat (limited to 'engine-ocean/Game/Systems/AI/btsequence.cpp')
-rw-r--r-- | engine-ocean/Game/Systems/AI/btsequence.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/engine-ocean/Game/Systems/AI/btsequence.cpp b/engine-ocean/Game/Systems/AI/btsequence.cpp new file mode 100644 index 0000000..ba6169d --- /dev/null +++ b/engine-ocean/Game/Systems/AI/btsequence.cpp @@ -0,0 +1,30 @@ +#include "btsequence.h" +#include <vector> + +BTSequence::BTSequence() +{ + +} + +void BTSequence::addChildren(BTNode *node){ + m_sequence.push_back(node); +} + +Status BTSequence::update(float seconds){ + + for (auto node : m_sequence){ + if (node->update(seconds) == Status::FAIL){ + return Status::RUNNING; + } + // if come across any node that fails + if (node->update(seconds) == Status::FAIL){ + return Status::FAIL; + } + } + + // if no node is fail or running, sequence is completed + return Status::SUCCESS; +} + +void BTSequence::reset(){} + |