BChunk AddChunk(BChunks bChunks, CellPos pos) { var bChunk = bChunks.AddChunk(pos); //bChunk.cell.AddToNeighbors(); return bChunk; /* bChunk.AddBlock(new Pos(0, 0, 0), 0, false); bChunk.AddBlock(new Pos(1, 0, 0), 0, false); bChunk.AddBlock(new Pos(1, 0, 1), 0, false); bChunk.AddBlock(new Pos(2, 0, 0), 0, false); bChunk.AddBlock(new Pos(Pos.WIDTH - 1, 0, 0), 0, false); var bChunk1 = bChunks.AddChunk(new Pos(1, 0, 0)); bChunk1.AddBlock(new Pos(0, 0, 0), 0, false); var bChunk2 = bChunks.AddChunk(new Pos(Pos.WIDTH - 1, 0, 0)); bChunk2.AddBlock(new Pos(Pos.WIDTH - 1, 0, 0), 0, false); bChunk.cell.AddToNeighbors(); bChunk1.cell.AddToNeighbors(); bChunk2.cell.AddToNeighbors(); bChunk.UpdateBlocks(); bChunk1.UpdateBlocks(); bChunk2.UpdateBlocks(); bChunk.UpdateMesh(false); bChunk1.UpdateMesh(false); bChunk2.UpdateMesh(false); bChunks.Save(); */ }
IEnumerator FillChunks(BChunks bChunks, ushort[] types, byte width = (byte)Pos.WIDTH, byte height = (byte)Pos.HEIGHT, byte depth = (byte)Pos.WIDTH) { for (byte x = 0; x < width; x++) for (byte y = 0; y < height; y++) for (byte z = 0; z < depth; z++) { var bChunk = AddChunk(bChunks, new CellPos(x, y, z)); FillBlocks(bChunk, types); bChunk.UpdateMesh(); bChunk.UpdateMeshesNeighbours(); yield return null;// new WaitForSeconds(0.1f); //bChunk.UpdateMesh(); //bChunk.UpdateMeshesNeighbours(); } // Debug.Log("save"); // bChunks.Save(); }