blob: 737491d0d04d386c2ff90d698d761fa7657dba11 [file] [log] [blame]
#include "rive/artboard.hpp"
#include "rive/animation/blend_animation.hpp"
#include "rive/animation/layer_state.hpp"
#include "rive/importers/layer_state_importer.hpp"
#include "rive/importers/artboard_importer.hpp"
using namespace rive;
StatusCode BlendAnimation::import(ImportStack& importStack) {
auto importer = importStack.latest<LayerStateImporter>(LayerStateBase::typeKey);
if (importer == nullptr) {
return StatusCode::MissingObject;
} else if (!importer->addBlendAnimation(this)) {
return StatusCode::InvalidObject;
}
auto artboardImporter = importStack.latest<ArtboardImporter>(ArtboardBase::typeKey);
if (artboardImporter == nullptr) {
return StatusCode::MissingObject;
}
auto artboard = artboardImporter->artboard();
size_t animationCount = artboard->animationCount();
if ((size_t)animationId() < animationCount) {
m_Animation = artboardImporter->artboard()->animation(animationId());
}
return Super::import(importStack);
}