private Vector2 GetNearestPointOnEdge(Vector2 point, Vector2 start, Vector2 end)
{
Vector2 rhs = point - start;
Vector2 vector4 = end - start;
Vector2 normalized = vector4.normalized;
float num = Vector2.Dot(normalized, rhs);
if (num <= 0f)
{
return start;
}
if (num >= Vector2.Distance(start, end))
{
return end;
}
Vector2 vector3 = (Vector2) (normalized * num);
return (start + vector3);
}