public Block(BlockStaticData staticData, Chunk chunk, Vector3i position, Rgba32I textureFilter) { _weakReference = new WeakReference <Block>(this); _staticData = staticData; _chunk = chunk; _position = position; _collidableFaces = new bool[6]; _textureFilter = textureFilter; _neighbours = new WeakReference <Block> [6]; _blockLight = new BlockLight(); var lightSource = staticData.LightSource; _blockLightSource = lightSource ? new BlockLightSource(this, staticData.LightSourceLight) : null; if (!lightSource) { return; } _blockLight.Light = _blockLightSource.SourceLight; _blockLight.Source = _blockLightSource; }
public BlockSnapshot(string id, BlockStaticData data) { _id = id; _data = data; }