public FEInitializingHelper(GameInitializationFields gameInitializationFields, UltraUpdatableContainer updatableContainer, FEConfiguration configuration) { _gameInitializationFields = gameInitializationFields; _updatableContainer = updatableContainer; _configuration = configuration; }
public FinalTerrainInitialization(UltraUpdatableContainer ultraUpdatableContainer, GameInitializationFields gameInitializationFields, FEConfiguration configuration, FeGRingConfiguration gRingConfiguration) { _ultraUpdatableContainer = ultraUpdatableContainer; _gameInitializationFields = gameInitializationFields; _configuration = configuration; _gRingConfiguration = gRingConfiguration; }
public FETerrainShapeDbInitialization(UltraUpdatableContainer ultraUpdatableContainer, GameInitializationFields gameInitializationFields, FEConfiguration configuration, FilePathsConfiguration filePathsConfiguration) { _ultraUpdatableContainer = ultraUpdatableContainer; _gameInitializationFields = gameInitializationFields; _configuration = configuration; _filePathsConfiguration = filePathsConfiguration; }
// Use this for initialization void Start() { _configuration = new FEConfiguration(new FilePathsConfiguration()) { Multithreading = UseMultithreading }; _configuration.TerrainShapeDbConfiguration = TerrainShapeDbConfiguration; FeGRingConfiguration.FeConfiguration = _configuration; VegetationConfiguration.FeConfiguration = _configuration; TaskUtils.SetGlobalMultithreading(_configuration.Multithreading); TaskUtils.ExecuteActionWithOverridenMultithreading(true, () => { MyProfiler.BeginSample("Sample1"); msw.StartSegment("Game initialization"); GlobalServicesProfileInfo servicesProfileInfo = new GlobalServicesProfileInfo(); if (GraphicsOverlay != null) { GraphicsOverlay.ServicesProfileInfo = servicesProfileInfo; } _ultraUpdatableContainer = new UltraUpdatableContainer( _configuration.SchedulerConfiguration, servicesProfileInfo, _configuration.UpdatableContainerConfiguration); _configuration.TerrainShapeDbConfiguration.UseTextureSavingToDisk = true; _gameInitializationFields.SetField(ContainerGameObject); _gameInitializationFields.SetField(_configuration.Repositioner); _gameInitializationFields.SetField(_configuration.HeightDenormalizer); var initializingHelper = new FEInitializingHelper(_gameInitializationFields, _ultraUpdatableContainer, _configuration); initializingHelper.InitializeUTService(new TextureConcieverUTProxy()); initializingHelper.InitializeUTService(new UnityThreadComputeShaderExecutorObject(_configuration.UseMultistepComputeShaderExecution)); initializingHelper.InitializeUTService(new CommonExecutorUTProxy()); initializingHelper.CreatePathProximityTextureDb(); SetInitialCameraPosition(); initializingHelper.InitializeDesignBodySpotUpdater(); initializingHelper.InitializeUTRendererProxy(); initializingHelper.InitializeUTService(new MeshGeneratorUTProxy(new MeshGeneratorService())); initializingHelper.InitializeMonoliticRing2RegionsDatabase(); var finalSurfacePathInitialization = new Ring2PatchInitializer(_gameInitializationFields, _ultraUpdatableContainer, new Ring2PatchInitializerConfiguration(_configuration)); finalSurfacePathInitialization.Start(); var finalTerrainInitialization = new FinalTerrainInitialization(_ultraUpdatableContainer, _gameInitializationFields, _configuration, FeGRingConfiguration); finalTerrainInitialization.Start(); initializingHelper.InitializeGlobalInstancingContainer(); var finalVegetation = new FinalVegetation(_gameInitializationFields, _ultraUpdatableContainer, VegetationConfiguration); finalVegetation.Start(); }); MyProfiler.EndSample(); }
public Ring2PatchInitializerConfiguration(FEConfiguration feConfiguration) { _feConfiguration = feConfiguration; }