public static void Reorder(this List <Vertex> vertices, Vector2 pivot) { vertices.Sort((a, b) => { var localA = a.Position - pivot; var angleA = Vector2Ext.PositiveAngle(localA); var localB = b.Position - pivot; var angleB = Vector2Ext.PositiveAngle(localB); if (angleA == angleB) { return(0); } var delta = angleA - angleB; if (delta > 0) { return(1); } return(-1); }); }