public override MeshData Blockdata(Chunk chunk, int x, int y, int z, MeshData meshData)
        {
            this.chunk = chunk;
            meshData.useRenderDataForCol = true;

            if (chunk.GetBlock(x, y - 1, z).IsSolid(Direction.up))
            {
                meshData = FaceDataDown(chunk, x, y, z, meshData);
                meshData.uv.AddRange(FaceUVs(Direction.down));
            }

            return meshData;
        }
Esempio n. 2
0
        public virtual MeshData Blockdata(Chunk chunk, int x, int y, int z, MeshData meshData)
        {
            this.chunk = chunk;
            meshData.useRenderDataForCol = true;

            if (!chunk.GetBlock(x, y + 1, z).IsSolid(Direction.down))
            {
                meshData = FaceDataUp(chunk, x, y, z, meshData);
                meshData.uv.AddRange(FaceUVs(Direction.down));
            }

            if (!chunk.GetBlock(x, y - 1, z).IsSolid(Direction.up))
            {
                meshData = FaceDataDown(chunk, x, y, z, meshData);
                meshData.uv.AddRange(FaceUVs(Direction.up));

            }

            if (!chunk.GetBlock(x, y, z + 1).IsSolid(Direction.south))
            {
                meshData = FaceDataNorth(chunk, x, y, z, meshData);
                meshData.uv.AddRange(FaceUVs(Direction.south));
            }

            if (!chunk.GetBlock(x, y, z - 1).IsSolid(Direction.north))
            {
                meshData = FaceDataSouth(chunk, x, y, z, meshData);
                meshData.uv.AddRange(FaceUVs(Direction.north));
            }

            if (!chunk.GetBlock(x + 1, y, z).IsSolid(Direction.west))
            {
                meshData = FaceDataEast(chunk, x, y, z, meshData);
                meshData.uv.AddRange(FaceUVs(Direction.west));
            }

            if (!chunk.GetBlock(x - 1, y, z).IsSolid(Direction.east))
            {
                meshData = FaceDataWest(chunk, x, y, z, meshData);
                meshData.uv.AddRange(FaceUVs(Direction.east));
            }

            return meshData;
        }