AsyncWaiter.hpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //
  2. // AsyncWaiter.hpp
  3. // redream_runtime
  4. //
  5. // Created by Chao on 2023/5/29.
  6. //
  7. #ifndef AsyncWaiter_hpp
  8. #define AsyncWaiter_hpp
  9. #include "cocos2d.h"
  10. #include "ReboltRunDelegate.hpp"
  11. namespace red{
  12. class RedBehaviacTree;
  13. }
  14. namespace redream {
  15. class AsyncWaiterContainer;
  16. class ReboltRedManager;
  17. class AsyncWaiter : public Ref {
  18. public:
  19. virtual ~AsyncWaiter() {};
  20. virtual void run() {};
  21. virtual void run(ReboltErrorInfo& error) {};
  22. void onEnd();
  23. void addToContainer(AsyncWaiterContainer* container);
  24. inline void setFatherTree(red::RedBehaviacTree* ft) {_fatherTree = ft;};
  25. inline red::RedBehaviacTree* getFatherTree(){return _fatherTree;}
  26. inline void setReboltRedManager(ReboltRedManager* rm) {_reboltManager = rm;};
  27. inline ReboltRedManager* getReboltRedManager(){return _reboltManager;}
  28. inline void setCallbackTreeId(std::string callbackTreeId){_callbackTreeId = callbackTreeId;}
  29. protected:
  30. red::RedBehaviacTree* _fatherTree = nullptr;
  31. ReboltRedManager* _reboltManager = nullptr;
  32. std::string _callbackTreeId = "";
  33. AsyncWaiterContainer* _container = nullptr;
  34. };
  35. };
  36. #endif /* AsyncWaiter_hpp */