private int GetMouseVertex(Event e)
{
if (Tools.current != Tool.None)
{
return -1;
}
SkinnedMeshRenderer component = this.cloth.GetComponent<SkinnedMeshRenderer>();
Vector3[] normals = this.cloth.normals;
ClothSkinningCoefficient[] coefficients = this.cloth.coefficients;
Ray ray = HandleUtility.GUIPointToWorldRay(e.mousePosition);
float num2 = 1000f;
int num3 = -1;
Quaternion rotation = component.actualRootBone.rotation;
for (int i = 0; i < coefficients.Length; i++)
{
Vector3 lhs = this.m_LastVertices[i] - ray.origin;
float sqrMagnitude = Vector3.Cross(lhs, ray.direction).sqrMagnitude;
if (((Vector3.Dot((Vector3) (rotation * normals[i]), Camera.current.transform.forward) <= 0f) || this.state.ManipulateBackfaces) && ((sqrMagnitude < num2) && (sqrMagnitude < 0.0025f)))
{
num2 = sqrMagnitude;
num3 = i;
}
}
return num3;
}