#include "Behaviors/StateMachine.h"

$nodeclass Example2 : StateNode {
    $nodeclass ReportButton : StateNode : doStart {
        size_t button = event->getSourceID();
        if(button < RobotInfo::NumButtons) {
            cout << "Sensed the " << RobotInfo::buttonNames[button] << " button." << endl;
        } else {
            cout << "Event had invalid button number: " << button << endl;
        }
    }

    $setupmachine {
        speak: SpeechNode("Press a button")
        bark: SoundNode("barkmed.wav")
        report: ReportButton

        speak =B=> report =N=> bark =C=> speak
    }
}
REGISTER_BEHAVIOR(Example2);
