Exemple #1
0
 public MonsterXmlResourceValidator(ContentFile file, GameResources resources, GameResources expansionResourcesUsed)
     : base(file, resources, expansionResourcesUsed)
 {
 }
Exemple #2
0
        /// <summary>
        /// Validates all fo the XML files.
        /// </summary>
        /// <param name="xmlFiles"></param>
        /// <param name="resources">An instance of <see cref="GameResources"/> containing all valid resources from the core game and optionally a mod.</param>
        /// <param name="expansionResourcesUsed">An instance of <see cref="GameResources"/> to which expansion resources found to be used will be added.</param>
        /// <returns></returns>
        public static List <XmlFileValidationErrorList> Validate(IEnumerable <ContentFile> xmlFiles, GameResources resources, GameResources expansionResourcesUsed = null)
        {
            List <XmlFileValidationErrorList> result = new List <XmlFileValidationErrorList>();

            foreach (var file in xmlFiles)
            {
                try
                {
                    XmlResourceValidator res = XmlResourceValidator.Create(file, resources, expansionResourcesUsed);
                    result.Add(res.Validate());
                }
                catch (XmlException ex)
                {
                    result.Add(new XmlFileValidationErrorList(file.FullName, ex));
                }
            }

            return(result);
        }
Exemple #3
0
        /// <summary>
        /// Factory method to create appropriate validator for the specified file.
        /// </summary>
        /// <param name="file"></param>
        /// <param name="resources">An instance of <see cref="GameResources"/> containing all valid resources from the core game and optionally a mod.</param>
        /// <param name="expansionResourcesUsed">An instance of <see cref="GameResources"/> to which expansion resources found to be used will be added.</param>
        /// <returns></returns>
        public static XmlResourceValidator Create(ContentFile file, GameResources resources, GameResources expansionResourcesUsed = null)
        {
            switch (file.Name.ToLower())
            {
            case "craftdb.xml":
                return(new CraftXmlResourceValidator(file, resources, expansionResourcesUsed));

            case "itemdb.xml":
                return(new ItemXmlResourceValidator(file, resources, expansionResourcesUsed));

            case "mondb.xml":
                return(new MonsterXmlResourceValidator(file, resources, expansionResourcesUsed));

            case "soundfx.xml":
                return(new SoundXmlResourceValidator(file, resources, expansionResourcesUsed));

            case "spelldb.xml":
                return(new SpellXmlResourceValidator(file, resources, expansionResourcesUsed));

            case "skilldb.xml":
                return(new SkillXmlResourceValidator(file, resources, expansionResourcesUsed));

            case "rooms.xml":
                return(new RoomXmlResourceValidator(file, resources, expansionResourcesUsed));

            case "encrustdb.xml":
                return(new EncrustXmlResourceValidator(file, resources, expansionResourcesUsed));

            default:
                throw new InvalidOperationException("The specified file is not supported.");
            }
        }