RUBehaviacTreeManger.h 692 B

12345678910111213141516171819202122232425262728
  1. #ifndef RUBehaviacTreeManger_h
  2. #define RUBehaviacTreeManger_h
  3. #include "RUDefine.h"
  4. #include "RUBehaviacTree.h"
  5. NS_RU_BEGIN
  6. class RUBehaviacTreeManger {
  7. friend class RUBehaviacTree;
  8. public:
  9. static RUBehaviacTreeManger* getInstance();
  10. static void destroyInstance();
  11. private:
  12. void _startUpdate();
  13. void _update(float dt);
  14. void _addBehaviacTree(RUBehaviacTree* tree);
  15. void _removeBehaviacTree(RUBehaviacTree* tree);
  16. private:
  17. std::unordered_set<RUBehaviacTree*> _runningBehaviorTrees;
  18. std::unordered_set<RUBehaviacTree*> _addBehaviorTrees;
  19. std::unordered_set<RUBehaviacTree*> _removeBehaviorTrees;
  20. };
  21. NS_RU_END
  22. #endif /* RUBehaviacTreeManger_h */