public ChunkColumn() { for (int i = 0; i < 16; i++) { chunks[i] = Chunk.CreateObject(); } isDirty = false; }
//private bool _isAllAir = true; //private bool _isDirty; public object Clone() { Chunk cc = Chunk.CreateObject(); cc._isAllAir = _isAllAir; cc._isDirty = _isDirty; blocks.CopyTo(cc.blocks, 0); metadata.Data.CopyTo(cc.metadata.Data, 0); blocklight.Data.CopyTo(cc.blocklight.Data, 0); skylight.Data.CopyTo(cc.skylight.Data, 0); if (_cache != null) { cc._cache = (byte[])_cache.Clone(); } cc._cacheSync = new object(); return(cc); }