private static void ParseTraits(string traitFile, string outputFolder) { using (StreamReader reader = new StreamReader(traitFile)) { RawStoreTraits rawTraits = RawStoreTraits.FromJson(reader.ReadToEnd()); ProcessedStoreTraits processedVanillaTraits = new ProcessedStoreTraits(); ProcessedStoreTraits processedMagicTraits = new ProcessedStoreTraits(); foreach (RawTrait rawTrait in rawTraits.Traits) { if (!rawTrait.CanAdd) { continue; } ProcessedTrait processedTrait = ProcessedTrait.FromRawTrait(rawTrait); if (rawTrait.AddPrice == 4000) { processedMagicTraits.Traits.Add(processedTrait); } else { processedVanillaTraits.Traits.Add(processedTrait); } } string outputFileVanilla = Path.Combine(outputFolder, "StoreTraitsVanilla.json"); string outputFileMagic = Path.Combine(outputFolder, "StoreTraitsMagic.json"); GenerateTraitsOutput(processedVanillaTraits, outputFileVanilla); GenerateTraitsOutput(processedMagicTraits, outputFileMagic); } }
public static RawStoreTraits FromJson(string json) { RawStoreTraits rawStoreTraits = JsonConvert.DeserializeObject <RawStoreTraits>(json, Settings); rawStoreTraits.Traits.Sort((item1, item2) => { return(string.Compare(item1.Name, item2.Name, StringComparison.OrdinalIgnoreCase)); }); return(rawStoreTraits); }