public void OnSceneGUI()
{
bool flag = GUIUtility.hotControl == this.m_HandleControlID;
SphereCollider target = (SphereCollider) base.target;
Color color = Handles.color;
if (target.enabled)
{
Handles.color = Handles.s_ColliderHandleColor;
}
else
{
Handles.color = Handles.s_ColliderHandleColorDisabled;
}
bool enabled = GUI.enabled;
if (!base.editingCollider && !flag)
{
GUI.enabled = false;
Handles.color = new Color(0f, 0f, 0f, 0.001f);
}
Vector3 lossyScale = target.transform.lossyScale;
float a = Mathf.Abs(lossyScale.x);
float introduced12 = Mathf.Max(a, Mathf.Abs(lossyScale.y));
float num = Mathf.Max(introduced12, Mathf.Abs(lossyScale.z));
float f = num * target.radius;
f = Mathf.Max(Mathf.Abs(f), 1E-05f);
Vector3 position = target.transform.TransformPoint(target.center);
Quaternion rotation = target.transform.rotation;
int hotControl = GUIUtility.hotControl;
float num4 = Handles.RadiusHandle(rotation, position, f, true);
if (GUI.changed)
{
Undo.RecordObject(target, "Adjust Radius");
target.radius = (num4 * 1f) / num;
}
if ((hotControl != GUIUtility.hotControl) && (GUIUtility.hotControl != 0))
{
this.m_HandleControlID = GUIUtility.hotControl;
}
Handles.color = color;
GUI.enabled = enabled;
}
}