Ejemplo n.º 1
0
 public void Load()
 {
     if (_stainTerrainResource == null)
     {
         var fileManager = new StainTerrainResourceFileManager(_pathsConfiguration.StainTerrainServicePath, new CommonExecutorUTProxy());
         _stainTerrainResource = fileManager.LoadResources().Result;
     }
 }
Ejemplo n.º 2
0
        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);
        }