| #include "rive/animation/state_machine_fire_trigger.hpp" | |
| #include "rive/animation/state_machine_instance.hpp" | |
| #include "rive/viewmodel/viewmodel_instance_trigger.hpp" | |
| using namespace rive; | |
| void StateMachineFireTrigger::perform( | |
| StateMachineInstance* stateMachineInstance) const | |
| { | |
| auto dataContext = stateMachineInstance->dataContext(); | |
| if (dataContext != nullptr && m_dataBindPath) | |
| { | |
| auto vmProp = dataContext->getViewModelProperty(m_dataBindPath); | |
| if (vmProp && vmProp->is<ViewModelInstanceTrigger>()) | |
| { | |
| vmProp->as<ViewModelInstanceTrigger>()->trigger(); | |
| } | |
| } | |
| } | |
| StatusCode StateMachineFireTrigger::import(ImportStack& importStack) | |
| { | |
| importDataBindPath(importStack); | |
| return Super::import(importStack); | |
| } | |
| void StateMachineFireTrigger::decodeViewModelPathIds(Span<const uint8_t> value) | |
| { | |
| decodeDataBindPath(value); | |
| } | |
| void StateMachineFireTrigger::copyViewModelPathIds( | |
| const StateMachineFireTriggerBase& object) | |
| { | |
| copyDataBindPath(object.as<StateMachineFireTrigger>()->dataBindPath()); | |
| } |