123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- //
- // SubTreeWaiter.hpp
- // redream_runtime_mac
- //
- // Created by zhu on 2023/5/23.
- //
- #ifndef SubTreeWaiter_hpp
- #define SubTreeWaiter_hpp
- #include "WaitableStateBase.hpp"
- #include "behaviac/RedBehaviacTree.h"
- namespace redream {
- class SubTreeWaiter : public WaitableStateBase, public red::RedBehaviacTreeDelegate {
- public:
- static SubTreeWaiter* create(ReboltRedManager* reboltManager, red::RedBehaviacTree* tree, std::map<std::string, bool> &boolMap, std::map<std::string, std::string> &stringMap, std::string treeName, ReboltRedManager* subTreeReboltManager);
-
- SubTreeWaiter(ReboltRedManager* reboltManager, red::RedBehaviacTree* tree, std::map<std::string, bool> &boolMap, std::map<std::string, std::string> &stringMap, std::string treeName, ReboltRedManager* subTreeReboltManager);
- ~SubTreeWaiter();
-
- bool init();
- public:
- RunningState getRunningState() override;
-
- void run() override;
-
- void onTreeRunningEnd(red::RedBehaviacTree* tree, int endType, std::string treeName) override;
-
- private:
- void createTreeAndRun();
- private:
- std::string _treeName;
- std::map<std::string, bool> _boolMap;
- std::map<std::string, std::string> _stringMap;
-
- red::RedBehaviacTree* _tree;
-
- ReboltRedManager* _subTreeReboltManager;
- };
- };
- #endif /* SubTreeWaiter_hpp */
|