blob: 7914ae37520eca4a654f2a4f7d64d8660e6dc6ad [file] [log] [blame]
#include "rive/animation/state_machine_event.hpp"
#include "rive/importers/import_stack.hpp"
#include "rive/importers/state_machine_event_importer.hpp"
#include "rive/importers/state_machine_importer.hpp"
#include "rive/animation/event_input_change.hpp"
#include "rive/animation/state_machine.hpp"
using namespace rive;
StatusCode EventInputChange::import(ImportStack& importStack) {
auto stateMachineImporter = importStack.latest<StateMachineImporter>(StateMachine::typeKey);
if (stateMachineImporter == nullptr) {
return StatusCode::MissingObject;
}
auto stateMachineEventImporter =
importStack.latest<StateMachineEventImporter>(StateMachineEventBase::typeKey);
if (stateMachineEventImporter == nullptr) {
return StatusCode::MissingObject;
}
if (!validateInputType(stateMachineImporter->stateMachine()->input((size_t)inputId()))) {
return StatusCode::InvalidObject;
}
stateMachineEventImporter->addInputChange(this);
return Super::import(importStack);
}