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

#include "Motion/MotionPtr.h"
#include "Behaviors/StateMachine.h"
#include "DualCoding/DualCoding.h"

using namespace DualCoding;
using namespace std;

class SignalTest : public StateNode {
private:

public:
  SignalTest() : StateNode("SignalTest")
  {
  }

  class DummyStart : public StateNode {
  public:
    DummyStart(const std::string &nodename): StateNode(nodename) {}
    virtual void DoStart(){
      NEW_SHAPE(marker1, TapiaMarkerData,
		new TapiaMarkerData(VRmixin::worldShS, Point(1000,-200,203.2),
				    ProjectInterface::getColorRGB("blue"),
				    ProjectInterface::getColorRGB("pink")));
      postStateSignal<Point >(Point(0,0));
    }
  };

  class DummyRecv : public StateNode {
  public:
    DummyRecv(const std::string &nodename): StateNode(nodename) {}
    virtual void DoStartEvent(const EventBase &event){
      const DataEvent<Point > *datev = dynamic_cast<const DataEvent<Point >*>(&event);
      cout << datev->getData() << endl;
    }
  };

  virtual void setup() {
#statemachine
  startnode: DummyStart =S<Point >=> DummyRecv =C=>
      SpeechNode($, "Done")
#endstatemachine
  }
};

#endif
