#include "Behaviors/StateMachine.h"

$nodeclass PushDemo : StateNode {
    $setupmachine {
        startnode: PostureNode("setup.pos") =C=> PostureNode("push1.pos") =C=> PostureNode("push2.pos")
    }
}

$nodeclass RollDemo : StateNode {
    $setupmachine {
        startnode: PostureNode("setup.pos") =C=> PostureNode("roll1.pos") =C=> PostureNode("roll2.pos") =C=> PostureNode("roll3.pos") =C=> PostureNode("roll4.pos")
    }
}

$nodeclass PullDemo : StateNode {
    $setupmachine {
        startnode: PostureNode("setup.pos") =C=> PostureNode("pull1.pos") =C=> PostureNode("pull2.pos") =C=> PostureNode("pull3.pos") =C=> PostureNode("pull4.pos") =C=> PostureNode("pull5.pos")
    }
}

$nodeclass PushCanDemo : StateNode {
    $setupmachine {
        startnode: PostureNode("setup.pos") =C=> PostureNode("pushcan1.pos") =C=> PostureNode("pushcan2.pos") =C=> PostureNode("pushcan3.pos") =C=> PostureNode("pushcan4.pos")
    }
}

REGISTER_BEHAVIOR(PushCanDemo);
REGISTER_BEHAVIOR(PushDemo);
REGISTER_BEHAVIOR(RollDemo);
REGISTER_BEHAVIOR(PullDemo);