blob: d974143374f6042717097164f8335123e17d02cd [file]
#include "rive/animation/state_machine_fire_event.hpp"
#include "rive/animation/state_machine_instance.hpp"
#include "rive/artboard.hpp"
#include "rive/event.hpp"
using namespace rive;
// Anchors StateMachineFireEvent's vtable (its first non-inline virtual).
// Previously this definition lived in an untracked file under
// src/generated/, which `generate_core.sh` wipes — leaving the runtime
// (LTO) link with an undefined vtable for StateMachineFireEvent. Kept
// here in src/animation/ alongside its siblings (fire_action,
// fire_trigger) so regeneration can't remove it again.
void StateMachineFireEvent::perform(
StateMachineInstance* stateMachineInstance) const
{
auto coreEvent = stateMachineInstance->artboard()->resolve(eventId());
if (coreEvent == nullptr || !coreEvent->is<Event>())
{
return;
}
stateMachineInstance->reportEvent(coreEvent->as<Event>());
}