blob: c7f7f039619f9df25b175f9232dc84c0a2bfa083 [file] [log] [blame]
#include "rive/animation/transition_comparator.hpp"
#include "rive/animation/transition_viewmodel_condition.hpp"
#include "rive/animation/state_machine_instance.hpp"
#include "rive/importers/transition_viewmodel_condition_importer.hpp"
using namespace rive;
StatusCode TransitionComparator::import(ImportStack& importStack)
{
auto transitionViewModelConditionImporter =
importStack.latest<TransitionViewModelConditionImporter>(
TransitionViewModelCondition::typeKey);
if (transitionViewModelConditionImporter == nullptr)
{
return StatusCode::MissingObject;
}
transitionViewModelConditionImporter->setComparator(this);
return Super::import(importStack);
}
bool TransitionComparator::compareNumbers(float left,
float right,
TransitionConditionOp op)
{
return compareComparables<float>(left, right, op);
}
bool TransitionComparator::compareStrings(std::string left,
std::string right,
TransitionConditionOp op)
{
return compareComparables<std::string>(left, right, op);
}
bool TransitionComparator::compareBooleans(bool left,
bool right,
TransitionConditionOp op)
{
return compareComparables<bool>(left, right, op);
}
bool TransitionComparator::compareEnums(uint16_t left,
uint16_t right,
TransitionConditionOp op)
{
return compareComparables<uint16_t>(left, right, op);
}
bool TransitionComparator::compareTriggers(uint32_t left,
uint32_t right,
TransitionConditionOp op)
{
return compareComparables<uint32_t>(left, right, op);
}
bool TransitionComparator::compareIds(uint32_t left,
uint32_t right,
TransitionConditionOp op)
{
return compareComparables<uint32_t>(left, right, op);
}
bool TransitionComparator::compareColors(int left,
int right,
TransitionConditionOp op)
{
return compareComparables<int>(left, right, op);
}
bool TransitionComparator::compare(
TransitionComparator* comparand,
TransitionConditionOp operation,
const StateMachineInstance* stateMachineInstance,
StateMachineLayerInstance* layerInstance)
{
return false;
}