private static float DistancePointToLineSegment(Vector2 point, Vector2 a, Vector2 b)
{
Vector2 vector = b - a;
float sqrMagnitude = vector.sqrMagnitude;
if (sqrMagnitude == 0f)
{
Vector2 vector2 = point - a;
return vector2.magnitude;
}
float num3 = Vector2.Dot(point - a, b - a) / sqrMagnitude;
if (num3 < 0f)
{
Vector2 vector3 = point - a;
return vector3.magnitude;
}
if (num3 > 1f)
{
Vector2 vector4 = point - b;
return vector4.magnitude;
}
Vector2 vector5 = a + ((Vector2) (num3 * (b - a)));
Vector2 vector6 = point - vector5;
return vector6.magnitude;
}