コード例 #1
0
 private static void AddOrUpdateJSONToManifest()
 {
     try {
         string          filePath = "mods/CommanderPortraitLoader/Portraits/";
         VersionManifest manifest = VersionManifestUtilities.ManifestFromCSV("mods/CommanderPortraitLoader/VersionManifest.csv");
         DirectoryInfo   d1       = new DirectoryInfo(filePath);
         FileInfo[]      f1       = d1.GetFiles("*.png");
         foreach (VersionManifestEntry entry in manifest.Entries)
         {
             if (!File.Exists(entry.FilePath.Replace(".json", ".png")))
             {
                 if (File.Exists(entry.FilePath))
                 {
                     File.Delete(entry.FilePath);
                 }
                 manifest.Remove(entry.Id, entry.Type, DateTime.Now);
                 manifest.ClearRemoved();
             }
         }
         f1 = d1.GetFiles("*.json");
         CustomPreset preset = new CustomPreset();
         foreach (FileInfo info in f1)
         {
             using (StreamReader r = new StreamReader(info.FullName)) {
                 string json = r.ReadToEnd();
                 preset = JsonConvert.DeserializeObject <CustomPreset>(json);
             }
             manifest.AddOrUpdate(preset.Description.Id, info.FullName, "PortraitSettings", DateTime.Now, null, false);
         }
         VersionManifestUtilities.ManifestToCSV(manifest, "mods/CommanderPortraitLoader/VersionManifest.csv");
     }
     catch (Exception e) {
         Logger.LogError(e);
     }
 }