void spAnimationStateData_setMixByName (spAnimationStateData* self, const char* fromName, const char* toName, float duration) { spAnimation* to; spAnimation* from = spSkeletonData_findAnimation(self->skeletonData, fromName); if (!from) return; to = spSkeletonData_findAnimation(self->skeletonData, toName); if (!to) return; spAnimationStateData_setMix(self, from, to, duration); }
spTrackEntry* SkeletonAnimation::addAnimation (int trackIndex, const std::string& name, bool loop, float delay) { spAnimation* animation = spSkeletonData_findAnimation(_skeleton->data, name.c_str()); if (!animation) { log("Spine: Animation not found: %s", name.c_str()); return 0; } return spAnimationState_addAnimation(_state, trackIndex, animation, loop, delay); }
spTrackEntry* SkeletonAnimation::setAnimation (int trackIndex, const char* name, bool loop) { spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name); if (!animation) { log("Spine: Animation not found: %s", name); return 0; } return spAnimationState_setAnimation(state, trackIndex, animation, loop); }
spTrackEntry* SpineAnimation::addAnimation(int trackIndex, const char* name, bool loop, float delay) { spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name); if (!animation) { return 0; } return spAnimationState_addAnimation(state, trackIndex, animation, loop, delay); }
bool SpineAnimation::addAnimation(JNIEnv* env, int trackIndex, const char* name, bool loop, float delay) { spAnimation* animation = spSkeletonData_findAnimation(skeleton->data, name); if (!animation) { callback->onError(env, "Animation not found: %s", (char*) name); return false; } else { spAnimationState_addAnimation(state, trackIndex, animation, loop, delay); return true; } }
bool SpineDrawable::setAnimationMix(const std::string& from, const std::string& to, float duration) { spAnimation* animationFrom = spSkeletonData_findAnimation(animationState->data->skeletonData, from.c_str()); if (!animationFrom) { return false; } spAnimation* animationTo = spSkeletonData_findAnimation(animationState->data->skeletonData, to.c_str()); if (!animationTo) { return false; } spAnimationStateData_setMix(animationStateData, animationFrom, animationTo, duration); return true; }
UTrackEntry* USpineSkeletonAnimationComponent::AddAnimation (int trackIndex, FString animationName, bool loop, float delay) { CheckState(); if (state && spSkeletonData_findAnimation(skeleton->data, TCHAR_TO_UTF8(*animationName))) { _spAnimationState_disableQueue(state); spTrackEntry* entry = spAnimationState_addAnimationByName(state, trackIndex, TCHAR_TO_UTF8(*animationName), loop ? 1 : 0, delay); _spAnimationState_enableQueue(state); UTrackEntry* uEntry = NewObject<UTrackEntry>(); uEntry->SetTrackEntry(entry); trackEntries.Add(uEntry); return uEntry; } else return NewObject<UTrackEntry>(); }
bool SpineDrawable::addAnimation(int32_t trackIndex, const std::string& animationName, bool loop, float delay) { spAnimation* animation = spSkeletonData_findAnimation(animationState->data->skeletonData, animationName.c_str()); if (!animation) { return false; } spAnimationState_addAnimation(animationState, trackIndex, animation, loop ? 1 : 0, delay); return true; }
void SkeletonAnimationFbo::addAnimation(int trackIndex, const QString& name, bool loop, float delay) { if (!isSkeletonValid()){ qDebug()<<"SkeletonAnimation::addAnimation Error: Skeleton is not ready"; return; } spAnimation* animation = spSkeletonData_findAnimation(mspSkeleton->data, name.toStdString().c_str()); if (!animation) { qDebug()<<"SkeletonAnimation::setAnimation Error: Animation is not found:"<<name; return; } spAnimationState_addAnimation(mspAnimationState, trackIndex, animation, loop, delay); }
bool SpineDrawable::hasAnimation(const std::string& animationName) { spAnimation* animation = spSkeletonData_findAnimation(animationState->data->skeletonData, animationName.c_str()); return animation != nullptr; }
spAnimation* SkeletonAnimation::findAnimation(const std::string& name) const { return spSkeletonData_findAnimation(_skeleton->data, name.c_str()); }