#include "Behaviors/StateMachine.h"

$nodeclass SceneBuilder3 : VisualRoutinesStateNode {

	$nodeclass FindLines : MapBuilderNode(MapBuilderRequest::worldMap) : doStart {
		mapreq.addAllObjectColors(lineDataType);
	}

	$nodeclass MarkLines : StateNode : doStart {

		NEW_SHAPEVEC(line_shapes, LineData, select_type<LineData>(worldShS));
		SHAPEVEC_ITERATE(line_shapes, LineData, cur_line)
			NEW_SHAPE(ellipse1, EllipseData,
				new EllipseData(worldShS, cur_line->end1Pt(), 30, 30, 0.0));
            ellipse1->setColor("blue");

			VRmixin::drawShapes.push_back(ellipse1);

			NEW_SHAPE(ellipse2, EllipseData,
				new EllipseData(worldShS, cur_line->end2Pt(), 30, 30, 0.0));
            ellipse2->setColor("blue");

			VRmixin::drawShapes.push_back(ellipse2);
		END_ITERATE
	}
	$nodeclass MyHeadPointerNode : HeadPointerNode : preStart {
		HeadPointerNode::preStart();
		getMC()->setMaxSpeed(0, 0.4);
		getMC()->setMaxSpeed(1, 0.4);
	}

	$setupmachine {
		MyHeadPointerNode[getMC()->lookAtPoint(600, 0, 0);]
		=C=> FindLines =C=> MarkLines
		=N=> SpeechNode("done")  
	}
}
REGISTER_BEHAVIOR(SceneBuilder3);

