Exemple #1
0
        /// <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);
                    }
                }
            }
        }
Exemple #2
0
        /// <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);
                    }
                }
            }
        }