private static void UpdateVertexSnappingOffset()
{
Event current = Event.current;
Tools.vertexDragging = true;
Transform[] transforms = Selection.GetTransforms((SelectionMode)14);
HandleUtility.ignoreRaySnapObjects = null;
Vector3 vector = VertexSnapping.FindNearestPivot(transforms, current.mousePosition);
Vector3 vector2;
bool flag = HandleUtility.FindNearestVertex(current.mousePosition, transforms, out vector2);
float magnitude = (HandleUtility.WorldToGUIPoint(vector2) - current.mousePosition).magnitude;
float magnitude2 = (HandleUtility.WorldToGUIPoint(vector) - current.mousePosition).magnitude;
Vector3 a;
if (flag && magnitude < magnitude2)
{
a = vector2;
}
else
{
a = vector;
}
Tools.handleOffset = Vector3.zero;
Tools.handleOffset = a - Tools.handlePosition;
}