예제 #1
0
        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);
        }