Exemplo n.º 1
0
        private static void GeographicLoad <TList, TOutput>(string cacheFolder, string path, List <TList> names,
                                                            DistinctColorList distinctColorList, string cacheName, out TOutput output)
            where TOutput : IGeographicLoad <TList>, new()
        {
            var filePath = Path.Combine(Application.streamingAssetsPath, path);

            output = new TOutput();
            output.Generate(filePath, names, distinctColorList);

            File.WriteAllText(Path.Combine(Application.streamingAssetsPath, cacheFolder,
                                           $"{cacheName}.json"), JsonConvert.SerializeObject(output));
        }
Exemplo n.º 2
0
        public static void Initialize(string cacheFolder, string definition, string area, string region,
                                      string superRegion, string countryTags, string provinceHistories)
        {
            var distinctColorList = new DistinctColorList(true);

            Definitions(cacheFolder, definition, out var definitionOutput);

            GeographicLoad(cacheFolder, area, definitionOutput.IDIndices, distinctColorList,
                           "Area", out AreasLoad areaOutput);

            GeographicLoad(cacheFolder, region, areaOutput.Names, distinctColorList,
                           "Region", out RegionsLoad regionsOutput);

            GeographicLoad(cacheFolder, superRegion, regionsOutput.Names, distinctColorList,
                           "SuperRegion", out SuperRegionsLoad supersOutput);

            Country(cacheFolder, countryTags, out var countryTagsLoad);

            Provinces(cacheFolder, provinceHistories, definitionOutput.Names, definitionOutput.IDIndices,
                      countryTagsLoad.Tags);

            Debug.Log("Cache files successfully generated!");
        }