1234567891011121314151617181920212223242526272829303132333435 |
- //
- // NodeAnimAsyncWaiter.cpp
- // redream_runtime
- //
- // Created by Chao on 2023/5/29.
- //
- #include "NodeAnimAsyncWaiter.hpp"
- #include "ReboltRedManager.h"
- namespace redream{
- NodeAnimAsyncWaiter* NodeAnimAsyncWaiter::create(ReboltRedManager* rrm, red::RedBehaviacTree* fatherTree, std::string callbackTreeId, cocos2d::Node* node, std::string animFileKey, cocos2d::Vec2 startPos, cocos2d::Vec2 endPos) {
- NodeAnimAsyncWaiter* waiter = new NodeAnimAsyncWaiter();
- waiter->autorelease();
- waiter->setFatherTree(fatherTree);
- waiter->setReboltRedManager(rrm);
- waiter->setCallbackTreeId(callbackTreeId);
- waiter->_node = node;
- waiter->_animFileKey = animFileKey;
- waiter->_startPos = startPos;
- waiter->_endPos = endPos;
-
- return waiter;
- }
- void NodeAnimAsyncWaiter::run(ReboltErrorInfo& errorInfo) {
- auto reboltManager = _reboltManager;
- auto callbackTreeId = _callbackTreeId;
- _reboltManager->runAnimFile(_node, _animFileKey, _startPos, _endPos, [=]{
- onEnd();
- reboltManager->runBehaviacTree(callbackTreeId, {}, {});
- }, errorInfo);
- }
- }
|