// // PlayTimeLineAsyncWaiter.hpp // redream_runtime // // Created by Chao on 2023/5/29. // #ifndef PlayTimeLineAsyncWaiter_hpp #define PlayTimeLineAsyncWaiter_hpp #include "AsyncWaiter.hpp" #include "../REDAnimationManager.h" namespace redream{ class PlayTimeLineAsyncWaiter : public AsyncWaiter, public REDAnimationManagerDelegate { public: static PlayTimeLineAsyncWaiter* create(ReboltRedManager* rrm, red::RedBehaviacTree* fatherTree, std::string callbackTreeId, int seqId, REDAnimationManager* redAnimationManager); virtual void run(ReboltErrorInfo& errorInfo) override; public: //完成的动画序列 virtual void completedAnimationSequenceNamed(const char *name, int seqId, int tag) override; // 动画被stop掉了 virtual void stopAnimationSequenceNamed(const char *name, int seqId, int tag) override; private: int _seqId = 0; REDAnimationManager* _redAnimationManager = nullptr; }; }; #endif /* PlayTimeLineAsyncWaiter_hpp */