示例#1
0
        /// <summary>
        /// Validates the node.
        /// Overloaded in child classes to validate that each type of node follows the correct business logic.
        /// This checks stuff that isn't validated by the XML validation
        /// </summary>
        public override void ValidateNode()
        {
            base.ValidateNode();

            //check for a bullet node
            BulletDescriptionNode = GetChild(ENodeName.bullet) as BulletNode;

            //if it didn't find one, check for the bulletref node
            if (null == BulletDescriptionNode)
            {
                //make sure that dude knows what he's doing
                BulletRefNode refNode = GetChild(ENodeName.bulletRef) as BulletRefNode;
                refNode.FindMyBulletNode();
                BulletDescriptionNode = refNode.ReferencedBulletNode;
            }

            Debug.Assert(null != BulletDescriptionNode);
        }
示例#2
0
        /// <summary>
        /// Validates the node.
        /// Overloaded in child classes to validate that each type of node follows the correct business logic.
        /// This checks stuff that isn't validated by the XML validation
        /// </summary>
        public override void ValidateNode()
        {
            base.ValidateNode();

            //check for a bullet node
            BulletDescriptionNode = GetChild(ENodeName.bullet) as BulletNode;

            //if it didn't find one, check for the bulletref node
            if (null == BulletDescriptionNode)
            {
                //make sure that dude knows what he's doing
                BulletRefNode refNode = GetChild(ENodeName.bulletRef) as BulletRefNode;
                refNode.FindMyBulletNode();
                BulletDescriptionNode = refNode.ReferencedBulletNode;
            }

            Debug.Assert(null != BulletDescriptionNode);
        }
示例#3
0
        /// <summary>
        /// Finds the referenced bullet node.
        /// </summary>
        public void FindMyBulletNode()
        {
            if (null == ReferencedBulletNode)
            {
                //Find the action node this dude references
                BulletMLNode refNode = GetRootNode().FindLabelNode(Label, ENodeName.bullet);

                //make sure we foud something
                if (null == refNode)
                {
                    throw new NullReferenceException("Couldn't find the bullet node \"" + Label + "\"");
                }

                ReferencedBulletNode = refNode as BulletNode;
                if (null == ReferencedBulletNode)
                {
                    throw new NullReferenceException("The BulletMLNode \"" + Label + "\" isn't a bullet node");
                }
            }
        }
示例#4
0
        /// <summary>
        /// Finds the referenced bullet node.
        /// </summary>
        public void FindMyBulletNode()
        {
            if (null == ReferencedBulletNode)
              {
            //Find the action node this dude references
            BulletMLNode refNode = GetRootNode().FindLabelNode(Label, ENodeName.bullet);

            //make sure we foud something
            if (null == refNode)
            {
              throw new NullReferenceException("Couldn't find the bullet node \"" + Label + "\"");
            }

            ReferencedBulletNode = refNode as BulletNode;
            if (null == ReferencedBulletNode)
            {
              throw new NullReferenceException("The BulletMLNode \"" + Label + "\" isn't a bullet node");
            }
              }
        }