#include "Behaviors/StateMachine.h"

$nodeclass Lab2p3  : StateNode {  
	$setupmachine{

		launch : StateNode =N=> {forwardlight, forwardsound}

		flashredf : LedNode [getMC()->flash(RobotInfo::PowerRedLEDMask, 1000, 1000)] =B(RobotInfo::PlayButOffset)=> backwardlight

		flashplayf : LedNode [getMC()->flash(RobotInfo::PlayLEDMask, 1000, 1000)] =B(RobotInfo::PlayButOffset)=> backwardlight

		flashadvancef : LedNode [getMC()->flash(RobotInfo::AdvanceLEDMask, 1000, 1000)] =B(RobotInfo::PlayButOffset)=> backwardlight
	
		flashredb : LedNode [getMC()->flash(RobotInfo::PowerRedLEDMask, 1000, 1000)] =B(RobotInfo::PlayButOffset)=> forwardlight

		flashplayb : LedNode [getMC()->flash(RobotInfo::PlayLEDMask, 1000, 1000)] =B(RobotInfo::PlayButOffset)=> forwardlight

		flashadvanceb : LedNode [getMC()->flash(RobotInfo::AdvanceLEDMask, 1000, 1000)] =B(RobotInfo::PlayButOffset)=> forwardlight

		yipperf : SoundNode("yipper.wav") =B(RobotInfo::PlayButOffset)=> backwardsound
		barkmedf : SoundNode("barkmed.wav") =B(RobotInfo::PlayButOffset)=> backwardsound
		barklowf: SoundNode("barklow.wav") =B(RobotInfo::PlayButOffset)=> backwardsound
		yipperb : SoundNode("yipper.wav") =B(RobotInfo::PlayButOffset)=> forwardsound
		barkmedb : SoundNode("barkmed.wav") =B(RobotInfo::PlayButOffset)=> forwardsound
		barklowb: SoundNode("barklow.wav") =B(RobotInfo::PlayButOffset)=> forwardsound

		forwardlight : StateNode =N=> flashredf =C=> 
				flashplayf =C=> 
				 flashadvancef =C=>
			          forwardlight

		backwardlight : StateNode =N=> flashadvanceb =C=> 
				 flashplayb =C=> 
				  flashredb =C=> 
				   backwardlight

		forwardsound : StateNode =N=> barklowf =C=>
				barkmedf =C=>
				  yipperf =C=>
				   forwardsound

		backwardsound : StateNode =N=> yipperb =C=>
				barkmedb =C=>
				  barklowb =C=>
				   backwardsound
			
  	}

}

REGISTER_BEHAVIOR(Lab2p3);
