public WallVolumeFace(int x, int y, int z, WallVolumeOrientaion orientation) { posX = x; posY = y; posZ = z; this.orientation = orientation; }
private bool IsOpen(int x, int y, int z, WallVolumeOrientaion orientation) { bool flag = false; switch (orientation) { case WallVolumeOrientaion.Up: { for (int l = 0; l < faces.Count; l++) { WallVolumeFace wallVolumeFace16 = faces[l]; if (wallVolumeFace16.posX != x) { continue; } WallVolumeFace wallVolumeFace17 = faces[l]; if (wallVolumeFace17.posZ != z) { continue; } WallVolumeFace wallVolumeFace18 = faces[l]; if (wallVolumeFace18.posY <= y) { continue; } WallVolumeFace wallVolumeFace19 = faces[l]; if (wallVolumeFace19.orientation != 0) { WallVolumeFace wallVolumeFace20 = faces[l]; if (wallVolumeFace20.orientation != WallVolumeOrientaion.Down) { continue; } } flag = !flag; } break; } case WallVolumeOrientaion.Down: { for (int n = 0; n < faces.Count; n++) { WallVolumeFace wallVolumeFace26 = faces[n]; if (wallVolumeFace26.posX != x) { continue; } WallVolumeFace wallVolumeFace27 = faces[n]; if (wallVolumeFace27.posZ != z) { continue; } WallVolumeFace wallVolumeFace28 = faces[n]; if (wallVolumeFace28.posY >= y) { continue; } WallVolumeFace wallVolumeFace29 = faces[n]; if (wallVolumeFace29.orientation != 0) { WallVolumeFace wallVolumeFace30 = faces[n]; if (wallVolumeFace30.orientation != WallVolumeOrientaion.Down) { continue; } } flag = !flag; } break; } case WallVolumeOrientaion.Left: { for (int j = 0; j < faces.Count; j++) { WallVolumeFace wallVolumeFace6 = faces[j]; if (wallVolumeFace6.posY != y) { continue; } WallVolumeFace wallVolumeFace7 = faces[j]; if (wallVolumeFace7.posZ != z) { continue; } WallVolumeFace wallVolumeFace8 = faces[j]; if (wallVolumeFace8.posX >= x) { continue; } WallVolumeFace wallVolumeFace9 = faces[j]; if (wallVolumeFace9.orientation != WallVolumeOrientaion.Left) { WallVolumeFace wallVolumeFace10 = faces[j]; if (wallVolumeFace10.orientation != WallVolumeOrientaion.Right) { continue; } } flag = !flag; } break; } case WallVolumeOrientaion.Right: { for (int m = 0; m < faces.Count; m++) { WallVolumeFace wallVolumeFace21 = faces[m]; if (wallVolumeFace21.posY != y) { continue; } WallVolumeFace wallVolumeFace22 = faces[m]; if (wallVolumeFace22.posZ != z) { continue; } WallVolumeFace wallVolumeFace23 = faces[m]; if (wallVolumeFace23.posX <= x) { continue; } WallVolumeFace wallVolumeFace24 = faces[m]; if (wallVolumeFace24.orientation != WallVolumeOrientaion.Left) { WallVolumeFace wallVolumeFace25 = faces[m]; if (wallVolumeFace25.orientation != WallVolumeOrientaion.Right) { continue; } } flag = !flag; } break; } case WallVolumeOrientaion.Forward: { for (int k = 0; k < faces.Count; k++) { WallVolumeFace wallVolumeFace11 = faces[k]; if (wallVolumeFace11.posX != x) { continue; } WallVolumeFace wallVolumeFace12 = faces[k]; if (wallVolumeFace12.posY != y) { continue; } WallVolumeFace wallVolumeFace13 = faces[k]; if (wallVolumeFace13.posZ <= z) { continue; } WallVolumeFace wallVolumeFace14 = faces[k]; if (wallVolumeFace14.orientation != WallVolumeOrientaion.Forward) { WallVolumeFace wallVolumeFace15 = faces[k]; if (wallVolumeFace15.orientation != WallVolumeOrientaion.Back) { continue; } } flag = !flag; } break; } case WallVolumeOrientaion.Back: { for (int i = 0; i < faces.Count; i++) { WallVolumeFace wallVolumeFace = faces[i]; if (wallVolumeFace.posX != x) { continue; } WallVolumeFace wallVolumeFace2 = faces[i]; if (wallVolumeFace2.posY != y) { continue; } WallVolumeFace wallVolumeFace3 = faces[i]; if (wallVolumeFace3.posZ >= z) { continue; } WallVolumeFace wallVolumeFace4 = faces[i]; if (wallVolumeFace4.orientation != WallVolumeOrientaion.Forward) { WallVolumeFace wallVolumeFace5 = faces[i]; if (wallVolumeFace5.orientation != WallVolumeOrientaion.Back) { continue; } } flag = !flag; } break; } default: throw new InvalidOperationException(); } return(flag); }