Example #1
0
        /// <summary>
        /// Convert the <see cref="ModDefinitionFile"/>s into a single file of all mods that can be configured for load.
        /// </summary>
        /// <param name="modInfoFilePath">Full path to write the mod info file to.</param>
        /// <param name="modFiles">The <see cref="ModDefinitionFile"/>s to write out.</param>
        public static void WriteModInfoFile(string modInfoFilePath, IEnumerable <ModDefinitionFile> modFiles)
        {
            var list = modFiles.Select(x => new ModInfo()
            {
                Name             = string.Join("_", x.Name.Split(Path.GetInvalidFileNameChars())),
                NameRaw          = x.Name,
                ArchiveFilePath  = x.ArchiveFilePath,
                ModDirectoryPath = x.ModDirectoryPath
            }).ToList();

            list.Sort(IComparerExtensions.Create <ModInfo>(x => x.Name));
            JsonSerializer serializer = new JsonSerializer {
                Formatting = Formatting.Indented
            };

            using (JsonWriter writer = new JsonTextWriter(new StreamWriter(modInfoFilePath)))
            {
                serializer.Serialize(writer, list);
            }
        }
Example #2
0
 public void InvertFailsWithNullThis()
 {
     Assert.Throws <ArgumentNullException>(() => IComparerExtensions.Invert <object>(null));
 }