private Mesh caveMesh() { MeshBuilder meshBuilder = new MeshBuilder(); int pads = landingPadLocations.Count; float degreesPerPad = 360 / pads; IList <Vector2> wallCoords;//new List<Vector2>(); if (pads == 2) { Vector2 normal = 2 * landingPadLocations[0] - landingPadLocations[1]; wallCoords = wallForPad(landingPadLocations[0], normal, degreesPerPad); normal = 2 * landingPadLocations[1] - landingPadLocations[0]; foreach (var coord in wallForPad(landingPadLocations[1], normal, degreesPerPad)) { wallCoords.Add(coord); } //wallForPad(new Vector2(0,0), new Vector2(1,0), 180); //close off the cave wallCoords.Add(wallCoords[0]); } else { Debug.Log("Unsupported number of landing pads"); return(null); } helper.BuildWall(meshBuilder, wallCoords); // new List<Vector2>() { // new Vector2(-10,-12), // new Vector2(-12,-6), // new Vector2(-10,0), // new Vector2(-12,6), // new Vector2(-2,12) // }); Mesh mesh = meshBuilder.CreateMesh(); mesh.RecalculateNormals(); return(mesh); }