#include "Behaviors/StateMachine.h"
#define PLAY PlayButOffset
#define ADV AdvanceButOffset
#define D EventBase::deactivateETID


$nodeclass Combination : StateNode {

    $setupmachine{
        check1: StateNode()
        check2: StateNode()
        check3: StateNode()
        check4: StateNode()
        check5: StateNode()
        correct: SpeechNode("Unlocked")
        wrong2: StateNode()
        wrong3: StateNode()
        wrong4: StateNode()
        wrong5: StateNode()
        incorrect: SoundNode("growl.wav")

        
        check1 =B(ADV,D)=> check2 =B(PLAY,D)=> check3 =B(ADV,D)=> check4 =B(ADV,D)=> check5 =B(PLAY,D)=>correct
        check1 =B(PLAY,D)=> wrong2
        check2 =B(ADV,D)=> wrong3
        check3 =B(PLAY,D)=> wrong4
        check4 =B(PLAY,D)=> wrong5
        check5 =B(ADV,D)=> incorrect
        wrong2 =B(ADV,D)=>wrong3 =B(ADV,D)=> wrong4 =B(ADV,D)=> wrong5 =B(ADV,D)=>incorrect =N=> check1
        wrong2 =B(PLAY,D)=>wrong3 =B(PLAY,D)=> wrong4 =B(PLAY,D)=> wrong5 =B(PLAY,D)=> incorrect
    }

}

REGISTER_BEHAVIOR(Combination);
