UnityEditor.CharacterControllerEditor.OnSceneGUI C# (CSharp) Method

OnSceneGUI() public method

public OnSceneGUI ( ) : void
return void
        public void OnSceneGUI()
        {
            bool flag = GUIUtility.hotControl == this.m_HandleControlID;
            CharacterController target = (CharacterController) 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 (!Event.current.shift && !flag)
            {
                GUI.enabled = false;
                Handles.color = new Color(1f, 0f, 0f, 0.001f);
            }
            float a = target.height * target.transform.lossyScale.y;
            float num2 = target.radius * Mathf.Max(target.transform.lossyScale.x, target.transform.lossyScale.z);
            a = Mathf.Max(a, num2 * 2f);
            Matrix4x4 matrix = Matrix4x4.TRS(target.transform.TransformPoint(target.center), Quaternion.identity, Vector3.one);
            int hotControl = GUIUtility.hotControl;
            Vector3 localPos = (Vector3) ((Vector3.up * a) * 0.5f);
            float num4 = SizeHandle(localPos, Vector3.up, matrix, true);
            if (!GUI.changed)
            {
                num4 = SizeHandle(-localPos, Vector3.down, matrix, true);
            }
            if (GUI.changed)
            {
                Undo.RecordObject(target, "Character Controller Resize");
                float num5 = a / target.height;
                target.height += num4 / num5;
            }
            num4 = SizeHandle((Vector3) (Vector3.left * num2), Vector3.left, matrix, true);
            if (!GUI.changed)
            {
                num4 = SizeHandle((Vector3) (-Vector3.left * num2), -Vector3.left, matrix, true);
            }
            if (!GUI.changed)
            {
                num4 = SizeHandle((Vector3) (Vector3.forward * num2), Vector3.forward, matrix, true);
            }
            if (!GUI.changed)
            {
                num4 = SizeHandle((Vector3) (-Vector3.forward * num2), -Vector3.forward, matrix, true);
            }
            if (GUI.changed)
            {
                Undo.RecordObject(target, "Character Controller Resize");
                float num6 = num2 / target.radius;
                target.radius += num4 / num6;
            }
            if ((hotControl != GUIUtility.hotControl) && (GUIUtility.hotControl != 0))
            {
                this.m_HandleControlID = GUIUtility.hotControl;
            }
            if (GUI.changed)
            {
                target.radius = Mathf.Max(target.radius, 1E-05f);
                target.height = Mathf.Max(target.height, 1E-05f);
            }
            Handles.color = color;
            GUI.enabled = enabled;
        }