public List <Corner> CornerList(Vector3[] vs) { List <Vertex> Vector3List = new List <Vertex>(); List <Corner> list = new List <Corner>(); int counter = 0; foreach (Vector3 v in vs) { Vector3List.Add(new Vertex(counter, v)); counter++; } List <Vertex> tempList = new List <Vertex>(); tempList = Vector3List; while (tempList.Count > 0) { counter = 0; Vertex tempV = new Vertex(1, new Vector3(0, 0, 0)); Corner crnr; crnr = new Corner(); foreach (Vertex v in tempList) { if (VertexPresence(list, v) == -1) { if (counter == 0) { crnr.AddVertexToCorner(v); tempV = v; list.Add(crnr); } } counter++; } tempList.RemoveAt(0); } Debug.Log(list.Count); return(list); }