private static void SaveChunk(BinaryWriter writer, ChunkData chunk) { writer.Write(chunk.pos.x); writer.Write(chunk.pos.y); writer.Write(chunk.pos.z); for (int z = 0; z < MapConstants.ChunkSize; z++) { for (int y = 0; y < MapConstants.ChunkSize; y++) { for (int x = 0; x < MapConstants.ChunkSize; x++) { writer.Write((int)chunk.GetBlock(x, y, z)); } } } }
private void BuildMesh() { rendered = true; MeshData meshData = new MeshData(world.data); for (int y = 0; y < MapConstants.ChunkSize; y++) { for (int z = 0; z < MapConstants.ChunkSize; z++) { for (int x = 0; x < MapConstants.ChunkSize; x++) { var block = data.GetBlock(x, y, z); meshData.AddBlock(block, pos.x + x, pos.y + y, pos.z + z); } } } // TOOD: ThreadNinja might help // yield return Ninja.JumpToUnity; RenderMesh(meshData); }