private SliceMeshData FaceDataWest(Slice slice, int x, float y, int z, SliceMeshData meshData) { int sliceXOffset = -(Map.XZOffset * Map.VoxelsInXZ); int sliceYOffset = -Map.YOffset; int sliceZOffset = -(Map.XZOffset * Map.VoxelsInXZ); meshData.AddVertex(new Vector3(x - 0.5f + sliceXOffset, y - 0.5f + sliceYOffset, z + 0.5f + sliceZOffset)); meshData.AddVertex(new Vector3(x - 0.5f + sliceXOffset, y + 0.5f + Map.VoxelFloorHeight + sliceYOffset, z + 0.5f + sliceZOffset)); meshData.AddVertex(new Vector3(x - 0.5f + sliceXOffset, y + 0.5f + Map.VoxelFloorHeight + sliceYOffset, z - 0.5f + sliceZOffset)); meshData.AddVertex(new Vector3(x - 0.5f + sliceXOffset, y - 0.5f + sliceYOffset, z - 0.5f + sliceZOffset)); meshData.AddQuadTris(); meshData.uvs.AddRange(FaceUVs()); return(meshData); }
// ----- Rendering private SliceMeshData FaceDataUp(Slice slice, int x, float y, int z, SliceMeshData meshData, bool IsUndiscovered = false) { int sliceXOffset = -(Map.XZOffset * Map.VoxelsInXZ); int sliceYOffset = -Map.YOffset; int sliceZOffset = -(Map.XZOffset * Map.VoxelsInXZ); meshData.AddVertex(new Vector3(x - 0.5f + sliceXOffset, y + 0.5f + Map.VoxelFloorHeight + sliceYOffset, z + 0.5f + sliceZOffset)); meshData.AddVertex(new Vector3(x + 0.5f + sliceXOffset, y + 0.5f + Map.VoxelFloorHeight + sliceYOffset, z + 0.5f + sliceZOffset)); meshData.AddVertex(new Vector3(x + 0.5f + sliceXOffset, y + 0.5f + Map.VoxelFloorHeight + sliceYOffset, z - 0.5f + sliceZOffset)); meshData.AddVertex(new Vector3(x - 0.5f + sliceXOffset, y + 0.5f + Map.VoxelFloorHeight + sliceYOffset, z - 0.5f + sliceZOffset)); meshData.AddQuadTris(); meshData.uvs.AddRange(FaceUVs(IsUndiscovered, true)); // true == IsTop return(meshData); }