/// <summary> /// Given a node, pull the direction nodes out from underneath it and store them if necessary /// </summary> /// <param name="taskToCheck">task to check if has a child direction node.</param> private void GetDirectionTasks(BulletMLTask taskToCheck) { if (null == taskToCheck) { return; } //check if the dude has a direction node DirectionNode dirNode = taskToCheck.Node.GetChild(ENodeName.direction) as DirectionNode; if (null != dirNode) { //check if it is a sequence type of node if (ENodeType.sequence == dirNode.NodeType) { //do we need a sequence node? if (null == SequenceDirectionTask) { //store it in the sequence direction node SequenceDirectionTask = new SetDirectionTask(dirNode as DirectionNode, taskToCheck); } } else { //else do we need an initial node? if (null == InitialDirectionTask) { //store it in the initial direction node InitialDirectionTask = new SetDirectionTask(dirNode as DirectionNode, taskToCheck); } } } }