NS_TIMELINE_BEGIN // ActionTimelineData ActionTimelineData* ActionTimelineData::create(int actionTag) { ActionTimelineData * ret = new (std::nothrow) ActionTimelineData(); if (ret && ret->init(actionTag)) { ret->autorelease(); return ret; } delete ret; return nullptr; }
NS_TIMELINE_BEGIN // ActionTimelineData ActionTimelineData* ActionTimelineData::create(int actionTag) { ActionTimelineData * ret = new (std::nothrow) ActionTimelineData(); if (ret && ret->init(actionTag)) { ret->autorelease(); } else { CC_SAFE_DELETE(ret); } return ret; }
void ActionTimeline::startWithTarget(Node *target) { Action::startWithTarget(target); foreachNodeDescendant(target, [this, target](Node* child) { ActionTimelineData* data = dynamic_cast<ActionTimelineData*>(child->getUserObject()); int actionTag = data->getActionTag(); if(_timelineMap.find(actionTag) != _timelineMap.end()) { auto timelines = this->_timelineMap[actionTag]; for (auto timeline : timelines) { timeline->setNode(child); } } }); }