//--------------------------------------------------------------------------- #endregion //--------------------------------------------------------------------------- #region Private Member Functions //--------------------------------------------------------------------------- private static void Build(OpenCog.Map.OCChunk chunk, bool onlyLight) { OpenCog.Map.OCMap map = chunk.GetMap(); _meshData.Clear(); for(int z=0; z<OpenCog.Map.OCChunk.SIZE_Z; z++) { for(int y=0; y<OpenCog.Map.OCChunk.SIZE_Y; y++) { for(int x=0; x<OpenCog.Map.OCChunk.SIZE_X; x++) { OCBlockData blockData = chunk.GetBlock(x, y, z); if(blockData != null) { OCBlock block = blockData.block; if(block != null) { Vector3i localPos = new Vector3i(x, y, z); Vector3i worldPos = OpenCog.Map.OCChunk.ToWorldPosition(chunk.GetPosition(), localPos); if(worldPos.y > 0) block.Build(localPos, worldPos, map, _meshData, onlyLight); } } } } } }