#include "Behaviors/StateMachine.h"

$nodeclass Lab2Q3 : StateNode{
	$setupmachine{
		launch: StateNode =N=>{noblink, fbark1, fflash1}
		
		noblink: LedNode[setPriority(MotionManager::kBackgroundPriority);getMC()->set(RobotInfo::AllLEDMask,0.0)]
		fbark1: SoundNode("barklow.wav")
		fbark2: SoundNode("barkmed.wav")
		fbark3: SoundNode("yipper.wav")
		rbark1: SoundNode("barklow.wav")
		rbark2: SoundNode("barkmed.wav")
		rbark3: SoundNode("yipper.wav")
		fflash1: LedNode[getMC()->flash(RobotInfo::PowerRedLEDMask, 1000)]
		fflash2: LedNode[getMC()->flash(RobotInfo::PlayLEDMask, 1000)]
		fflash3: LedNode[getMC()->flash(RobotInfo::AdvanceLEDMask, 1000)]
		rflash1: LedNode[getMC()->flash(RobotInfo::PowerRedLEDMask, 1000)]
		rflash2: LedNode[getMC()->flash(RobotInfo::PlayLEDMask, 1000)]
		rflash3: LedNode[getMC()->flash(RobotInfo::AdvanceLEDMask, 1000)]
		
		fbark1 =C=> fbark2 =C=> fbark3 =C=> fbark1
		rbark3 =C=> rbark2 =C=> rbark1 =C=> rbark3
	
		fflash1 =C=> fflash2 =C=> fflash3 =C=> fflash1
		rflash3 =C=> rflash2 =C=> rflash1 =C=> rflash3
		
		fbark1 =B(RobotInfo::BumpLeftButOffset)=> rbark3 =B(RobotInfo::BumpLeftButOffset)=> fbark1
		fflash1 =B(RobotInfo::BumpLeftButOffset)=> rflash3 =B(RobotInfo::BumpLeftButOffset)=> fflash1

		fbark2 =B(RobotInfo::BumpLeftButOffset)=> rbark1 =B(RobotInfo::BumpLeftButOffset)=> fbark2
		fflash2 =B(RobotInfo::BumpLeftButOffset)=> rflash1 =B(RobotInfo::BumpLeftButOffset)=> fflash2
		
		fbark3 =B(RobotInfo::BumpLeftButOffset)=> rbark2 =B(RobotInfo::BumpLeftButOffset)=> fbark3
		fflash3 =B(RobotInfo::BumpLeftButOffset)=> rflash2 =B(RobotInfo::BumpLeftButOffset)=> fflash3
	}
}

REGISTER_BEHAVIOR(Lab2Q3);
