public void Load() { if (_stainTerrainResource == null) { var fileManager = new StainTerrainResourceFileManager(_pathsConfiguration.StainTerrainServicePath, new CommonExecutorUTProxy()); _stainTerrainResource = fileManager.LoadResources().Result; } }
public static void ConfigureMaterial(StainTerrainResource terrainResource, Material material) { material.SetTexture("_PaletteTex", terrainResource.TerrainPaletteTexture); material.SetTexture("_PaletteIndexTex", terrainResource.PaletteIndexTexture); material.SetTexture("_ControlTex", terrainResource.ControlTexture); material.SetFloat("_TerrainTextureSize", terrainResource.TerrainTextureSize); material.SetFloat("_PaletteMaxIndex", terrainResource.PaletteMaxIndex); }
public void Compute() { TaskUtils.SetGlobalMultithreading(_configuration.Multithreading); StainTerrainResourceCreatorUTProxy stainTerrainResourceCreator = new StainTerrainResourceCreatorUTProxy(new StainTerrainResourceCreator()); RoadToBiomesConventer roadToBiomesConventer = new RoadToBiomesConventer( _gameInitializationFields.Retrive <RoadDatabaseProxy>(), _configuration.RoadToBiomesConventerConfiguration ); HabitatToStainBiomeConventer habitatToBiomesConventer = new HabitatToStainBiomeConventer( _gameInitializationFields.Retrive <HabitatMapDbProxy>(), _configuration.HabitatToStainBiomeConversionConfiguration); var terrainProvider = new StainTerrainProvider( stainTerrainResourceCreator, roadToBiomesConventer, habitatToBiomesConventer, _configuration.StainTerrainProviderConfiguration); var generator = terrainProvider.ProvideGeneratorAsync().Result; _stainTerrainResource = generator.GenerateTerrainTextureDataAsync().Result; var fromManualTextureResourceLoader = new FromManualTextureStainResourceLoader( new BiomeInstanceDetailGenerator(_configuration.BiomeInstanceDetailTemplates), _configuration.FromManualTextureStainResourceLoaderConfiguration); //fromManualTextureResourceLoader.ProvideData(); var resourceGenerator = new ComputationStainTerrainResourceGenerator( new StainTerrainResourceComposer(stainTerrainResourceCreator), new StainTerrainArrayMelder(), fromManualTextureResourceLoader); _stainTerrainResource = resourceGenerator.GenerateTerrainTextureDataAsync().Result; var fileManager = new StainTerrainResourceFileManager(_pathsConfiguration.StainTerrainServicePath, new CommonExecutorUTProxy()); fileManager.SaveResources(_stainTerrainResource); }