blob: 5a319baa87b95808741bb2c522e093e6abfb4dc8 [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();
auto animationCount = artboard->animationCount();
if (animationId() >= 0 && animationId() < animationCount)
{
m_Animation = artboardImporter->artboard()->animation(animationId());
}
return Super::import(importStack);
}