public void LateInitialization(ServerComponent server, SingleArrayChunkContainer cubesHolder, IWorldChunks worldChunks, IChunkStorageManager chunkStorageManager, ILightingManager lightManager, VisualWorldParameters visualWorldParameters ) { _server = server; _lightManager = lightManager; _worldChunks = worldChunks; _chunkStorageManager = chunkStorageManager; _server.MessageBlockChange += ServerConnection_MessageBlockChange; _visualWorldParameters = visualWorldParameters; _wp = _visualWorldParameters.WorldParameters; _cubesHolder = cubesHolder; _initialized = true; }
public WorldChunks(D3DEngine d3dEngine, CameraManager <ICameraFocused> camManager, VisualWorldParameters visualWorldParameters, WorldFocusManager worldFocusManager, GameStatesManager gameStates, IClock gameClock, SingleArrayChunkContainer cubesHolder, ILandscapeManager2D landscapeManager, IChunkMeshManager chunkMeshManager, IChunksWrapper chunkWrapper, ILightingManager lightingManager, IChunkStorageManager chunkstorage, ServerComponent server, IWeather weather, [Named("SkyBuffer")] StaggingBackBuffer skyBackBuffer, VoxelModelManager voxelModelManager, IChunkEntityImpactManager chunkEntityImpactManager, InputsManager inputsManager ) { _server = server; _chunkstorage = chunkstorage; _d3dEngine = d3dEngine; _worldFocusManager = worldFocusManager; _gameStates = gameStates; _camManager = camManager; _gameClock = gameClock; VisualWorldParameters = visualWorldParameters; _cubesHolder = cubesHolder; _chunkWrapper = chunkWrapper; _landscapeManager = landscapeManager; _chunkMeshManager = chunkMeshManager; _lightingManager = lightingManager; _weather = weather; _skyBackBuffer = skyBackBuffer; _voxelModelManager = voxelModelManager; _chunkEntityImpactManager = chunkEntityImpactManager; _inputsManager = inputsManager; _skyBackBuffer.OnStaggingBackBufferChanged += _skyBackBuffer_OnStaggingBackBufferChanged; SliceViewChunks = 25; DrawStaticInstanced = true; if (visualWorldParameters.WorldParameters.Configuration is UtopiaWorldConfiguration) { _utopiaProcessorParam = ((UtopiaWorldConfiguration)visualWorldParameters.WorldParameters.Configuration).ProcessorParam; } //Self injecting inside components, to avoid circular dependency _chunkWrapper.WorldChunks = this; lightingManager.WorldChunk = this; _chunkMeshManager.WorldChunks = this; landscapeManager.WorldChunks = this; DrawOrders.UpdateIndex(SOLID_DRAW, 100, "SOLID_DRAW"); TRANSPARENT_DRAW = DrawOrders.AddIndex(1050, "TRANSPARENT_DRAW"); ENTITIES_DRAW = DrawOrders.AddIndex(101, "ENTITIES_DRAW"); this.IsDefferedLoadContent = true; }