#include "Behaviors/StateMachine.h"

$nodeclass LightSoundPartTwo: StateNode {

  $setupmachine{

    launch: StateNode =N=> {ledPower, howl_for}

    ledPower: LedNode [getMC()->set(RobotInfo::PowerRedLEDMask, 1.0)]	
    ledPlay: LedNode [getMC()->set(RobotInfo::PlayLEDMask, 1.0)]
    ledAdvance: LedNode [getMC()->set(RobotInfo::AdvanceLEDMask, 1.0)]

    howl_for: SoundNode("howl.wav")
    barklow_for: SoundNode("barklow.wav")
    ping_for: SoundNode("ping.wav")

    howl_back: SoundNode("howl.wav")
    barklow_back: SoundNode("barklow.wav")
    ping_back: SoundNode("ping.wav")



    {howl_for, ledPower} =C=> {ledPlay, barklow_for}
    howl_for =B(RobotInfo::BumpLeftButOffset)=> {ledAdvance, ping_back}

    {barklow_for, ledPlay} =C=> {ledAdvance, ping_for}
    barklow_for =B(RobotInfo::BumpLeftButOffset)=> {ledPower, howl_back}

    {ping_for, ledAdvance} =C=> {ledPower, howl_for}
    ping_for =B(RobotInfo::BumpLeftButOffset)=> {ledPlay, barklow_back}



    {howl_back, ledPower} =C=> {ledAdvance, ping_back}
    howl_back =B(RobotInfo::BumpRightButOffset)=> {ledPlay, barklow_for}

    {barklow_back, ledPlay} =C=> {ledPower, howl_back}
    barklow_back =B(RobotInfo::BumpRightButOffset)=> {ledAdvance, ping_for}

    {ping_back, ledAdvance} =C=> {ledPlay, barklow_back}
    ping_back =B(RobotInfo::BumpRightButOffset)=> {ledPower, howl_for}

  }

}

REGISTER_BEHAVIOR(LightSoundPartTwo);
