#include "rive/animation/nested_trigger.hpp"
#include "rive/animation/nested_state_machine.hpp"
#include "rive/animation/state_machine_input_instance.hpp"
#include "rive/container_component.hpp"

using namespace rive;
class StateMachineInstance;

void NestedTrigger::fire(const CallbackData& value) {
    auto inputInstance = input();
    if (inputInstance != nullptr) 
    {
        auto numInput = static_cast<SMITrigger*>(inputInstance);
        if (numInput != nullptr) {
            numInput->fire();
        }
    }
    
}