示例#1
0
        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;
        }
示例#2
0
 public BlockSnapshot(string id, BlockStaticData data)
 {
     _id   = id;
     _data = data;
 }