// Get List Of Polygons from Collider (Usually Used Before Creating Slicer2D Object) static public List <Polygon2D> CreateFromPolygonColliderToWorldSpace(PolygonCollider2D collider) { List <Polygon2D> result = new List <Polygon2D> (); if (collider != null && collider.pathCount > 0) { Polygon2D newPolygon = new Polygon2D(); foreach (Vector2 p in collider.GetPath(0)) { newPolygon.AddPoint(p + collider.offset); } newPolygon = newPolygon.ToWorldSpace(collider.transform); result.Add(newPolygon); for (int i = 1; i < collider.pathCount; i++) { Polygon2D hole = new Polygon2D(); foreach (Vector2 p in collider.GetPath(i)) { hole.AddPoint(p + collider.offset); } hole = hole.ToWorldSpace(collider.transform); if (newPolygon.PolyInPoly(hole) == true) { newPolygon.AddHole(hole); } else { result.Add(hole); } } } return(result); }