blob: 508807d63a78c021c633108870863d6d40e993d5 [file] [log] [blame]
#ifndef _RIVE_TRANSITION_VIEW_MODEL_CONDITION_HPP_
#define _RIVE_TRANSITION_VIEW_MODEL_CONDITION_HPP_
#include "rive/generated/animation/transition_viewmodel_condition_base.hpp"
#include "rive/animation/transition_comparator.hpp"
#include "rive/animation/transition_condition_op.hpp"
#include "rive/animation/state_machine_instance.hpp"
#include <stdio.h>
namespace rive
{
class TransitionViewModelCondition : public TransitionViewModelConditionBase
{
protected:
TransitionComparator* m_leftComparator;
TransitionComparator* m_rightComparator;
public:
bool evaluate(const StateMachineInstance* stateMachineInstance) const override;
TransitionComparator* leftComparator() const { return m_leftComparator; };
TransitionComparator* rightComparator() const { return m_rightComparator; };
void comparator(TransitionComparator* value)
{
if (m_leftComparator == nullptr)
{
m_leftComparator = value;
}
else
{
m_rightComparator = value;
}
};
TransitionConditionOp op() const { return (TransitionConditionOp)opValue(); }
};
} // namespace rive
#endif