private static int GetRectAxisForViewDir(Bounds bounds, Quaternion rotation, Vector3 viewDir)
{
if (s_LockHandleRectAxisActive)
{
return s_LockHandleRectAxis;
}
if (viewDir == Vector3.zero)
{
return 2;
}
if (bounds.size == Vector3.zero)
{
bounds.size = Vector3.one;
}
int num2 = -1;
float num3 = -1f;
for (int i = 0; i < 3; i++)
{
Vector3 zero = Vector3.zero;
Vector3 vector2 = Vector3.zero;
int num5 = (i + 1) % 3;
int num6 = (i + 2) % 3;
zero[num5] = bounds.size[num5];
vector2[num6] = bounds.size[num6];
float magnitude = Vector3.Cross(Vector3.ProjectOnPlane((Vector3) (rotation * zero), viewDir), Vector3.ProjectOnPlane((Vector3) (rotation * vector2), viewDir)).magnitude;
if (magnitude > num3)
{
num3 = magnitude;
num2 = i;
}
}
return num2;
}