blob: 86e5c1d8b4dd7977105ed34806a51b361999d6b9 [file] [log] [blame] [edit]
#include "rive/artboard.hpp"
#include "rive/animation/blend_state_transition.hpp"
#include "rive/animation/blend_state_instance.hpp"
#include "rive/animation/blend_state_1d_input.hpp"
#include "rive/animation/blend_state_1d_viewmodel.hpp"
#include "rive/animation/blend_state_direct.hpp"
#include "rive/animation/blend_state_1d_instance.hpp"
#include "rive/animation/blend_state_direct_instance.hpp"
using namespace rive;
const LinearAnimationInstance* BlendStateTransition::exitTimeAnimationInstance(
const StateInstance* from) const
{
if (from != nullptr)
{
switch (from->state()->coreType())
{
case BlendState1DInput::typeKey:
case BlendState1DViewModel::typeKey:
return static_cast<const BlendState1DInstance*>(from)
->animationInstance(m_ExitBlendAnimation);
case BlendStateDirect::typeKey:
return static_cast<const BlendStateDirectInstance*>(from)
->animationInstance(m_ExitBlendAnimation);
}
}
return nullptr;
}
const LinearAnimation* BlendStateTransition::exitTimeAnimation(
const LayerState* from) const
{
if (m_ExitBlendAnimation != nullptr)
{
return m_ExitBlendAnimation->animation();
}
return nullptr;
}