コード例 #1
0
        public static TerrainShapeDb CreateTerrainShapeDb(TerrainDetailProvider terrainDetailProvider, CommonExecutorUTProxy commonExecutorUtProxy,
                                                          TerrainDetailAlignmentCalculator terrainDetailAlignmentCalculator, bool mergingEnabled, bool saveTexturesToFile, bool loadTexturesFromFile,
                                                          TerrainDetailFileManager fileManager)
        {
            var cachingConfiguration = new CachingConfiguration()
            {
                SaveAssetsToFile = saveTexturesToFile,
                UseFileCaching   = loadTexturesFromFile
            };

            Func <IAssetsCache <InternalTerrainDetailElementToken, TextureWithSize> > terrainCacheGenerator =
                () => new InMemoryAssetsCache <InternalTerrainDetailElementToken, TextureWithSize>(
                    CreateLevel2AssetsCache <InternalTerrainDetailElementToken, TextureWithSize>(
                        cachingConfiguration,
                        new InMemoryCacheConfiguration(),
                        new TextureWithSizeActionsPerformer(commonExecutorUtProxy),
                        new CachingTerrainDetailFileManager(fileManager)));

            var cachedTerrainDetailProvider = new CachedTerrainDetailProvider(
                terrainDetailProvider,
                terrainCacheGenerator, mergingEnabled);

            cachedTerrainDetailProvider.Initialize().Wait();
            var terrainShapeDb = new TerrainShapeDb(cachedTerrainDetailProvider, terrainDetailAlignmentCalculator);

            return(terrainShapeDb);
        }
コード例 #2
0
 public TerrainShapeDb(CachedTerrainDetailProvider cachedTerrainDetailProvider, TerrainDetailAlignmentCalculator alignmentCalculator)
 {
     _cachedTerrainDetailProvider = cachedTerrainDetailProvider;
     _alignmentCalculator = alignmentCalculator;
 }