public VisualChunkBase( D3DEngine d3DEngine, WorldFocusManager worldFocusManager, VisualWorldParameters visualWorldParameter, Range3I cubeRange, CameraManager <ICameraFocused> cameraManager, WorldChunks worldChunkManager, VoxelModelManager voxelModelManager, IChunkEntityImpactManager chunkEntityImpactManager, ChunkDataProvider provider = null) : base(provider) { _cachedTrees = new Dictionary <TreeBpSeed, VisualVoxelModel>(); Graphics = new ChunkGraphics(this, d3DEngine); _d3DEngine = d3DEngine; _worldFocusManager = worldFocusManager; _worldChunkManager = worldChunkManager; _chunkEntityImpactManager = chunkEntityImpactManager; #if DEBUG _blockpickedUPEffect = new HLSLVertexPositionColor(_d3DEngine.Device); #endif _visualWorldParameters = visualWorldParameter; _cameraManager = cameraManager; _voxelModelManager = voxelModelManager; _visualVoxelEntities = new Dictionary <string, List <VisualVoxelEntity> >(); EmitterStaticEntities = new List <EntityMetaData>(); OutOfChunkLightSourceStaticEntities = new List <ILightEmitterEntity>(); SoundStaticEntities = new List <IItem>(); CubeRange = cubeRange; State = ChunkState.Empty; Entities.EntityAdded += EntitiesEntityAdded; Entities.EntityRemoved += EntitiesEntityRemoved; Entities.CollectionCleared += EntitiesCollectionCleared; }
public VisualChunk(D3DEngine d3DEngine, WorldFocusManager worldFocusManager, VisualWorldParameters visualWorldParameter, ref Range3I cubeRange, SingleArrayChunkContainer singleArrayContainer, CameraManager <ICameraFocused> cameraManager, WorldChunks worldChunkManager, VoxelModelManager voxelModelManager, IChunkEntityImpactManager chunkEntityImpactManager, ChunkDataProvider provider = null) : base(d3DEngine, worldFocusManager, visualWorldParameter, cubeRange, cameraManager, worldChunkManager, voxelModelManager, chunkEntityImpactManager, new SingleArrayDataProvider(singleArrayContainer)) { ((SingleArrayDataProvider)base.BlockData).DataProviderUser = this; //Didn't find a way to pass it inside the constructor _singleArrayContainer = singleArrayContainer; }
public VisualChunk3D( D3DEngine d3DEngine, WorldFocusManager worldFocusManager, VisualWorldParameters visualWorldParameter, Range3I cubeRange, CameraManager <ICameraFocused> cameraManager, WorldChunks worldChunkManager, VoxelModelManager voxelModelManager, IChunkEntityImpactManager chunkEntityImpactManager, ChunkDataProvider provider = null) : base( d3DEngine, worldFocusManager, visualWorldParameter, cubeRange, cameraManager, worldChunkManager, voxelModelManager, chunkEntityImpactManager, provider) { _lights = new ByteColor[BlockData.ChunkSize.Volume]; }