//-*-c++-*-
#ifndef INCLUDED_ChuBehavior_h_
#define INCLUDED_ChuBehavior_h_

#include "Behaviors/StateMachine.h"
#include "DualCoding/DualCoding.h"
#include "Sound/SoundManager.h"
#include "Events/EventRouter.h"
//using namespace DualCoding;


class ChuArmPush : public VisualRoutinesStateNode {
public:
  ChuArmPush() : VisualRoutinesStateNode("ChuArmPush") {}


  virtual void DoStart() {
   
    
  }

  virtual void processEvent(const EventBase &) {
		postStateCompletion();
	}

};

class ChuBehavior : public StateNode {
public:
  ChuBehavior(): StateNode("ChuBehavior") {}
  
	virtual void setup() {

  HeadPointerNode *startPos = new HeadPointerNode("startPos");
  addNode(startPos);
  startPos->getMC()->setMaxSpeed(0, 0.7);
  startPos->getMC()->setMaxSpeed(1,0.7);
  startPos->getMC()->lookAtPoint(350, 0, 41);

  //notused = new ChuArmPush();

  startnode = startPos;
  
#statemachine

startnode: PostureNode($,“lookleft.pos”) =C=>
              PostureNode($,“raiseLFrleg.pos”)
#endstatemachine


  }

  virtual void DoStart() {
    std::cout << getName() << " is starting up." << std::endl;
  }
 
  virtual void DoStop() {
    std::cout << getName() << " is shutting down." << std::endl;
  }

private:
  ChuBehavior(const ChuBehavior&);
  ChuBehavior& operator=(const ChuBehavior&);
};

#endif

