private static void UpdateVertexSnappingOffset()
{
Vector3 vector;
Vector3 vector3;
Event current = Event.current;
Tools.vertexDragging = true;
Transform[] transforms = Selection.GetTransforms(SelectionMode.Editable | SelectionMode.ExcludePrefab | SelectionMode.Deep);
HandleUtility.ignoreRaySnapObjects = null;
Vector3 world = FindNearestPivot(transforms, current.mousePosition);
bool flag = HandleUtility.FindNearestVertex(current.mousePosition, transforms, out vector);
Vector2 vector4 = HandleUtility.WorldToGUIPoint(vector) - current.mousePosition;
float magnitude = vector4.magnitude;
Vector2 vector5 = HandleUtility.WorldToGUIPoint(world) - current.mousePosition;
float num2 = vector5.magnitude;
if (flag && (magnitude < num2))
{
vector3 = vector;
}
else
{
vector3 = world;
}
Tools.handleOffset = Vector3.zero;
Tools.handleOffset = vector3 - Tools.handlePosition;
}
}