Example #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);
        }