UnityEditor.CapsuleColliderEditor.OnSceneGUI C# (CSharp) Method

OnSceneGUI() public method

public OnSceneGUI ( ) : void
return void
        public void OnSceneGUI()
        {
            bool flag = GUIUtility.hotControl == this.m_HandleControlID;
            CapsuleCollider target = (CapsuleCollider) 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(1f, 0f, 0f, 0.001f);
            }
            Vector3 capsuleExtents = ColliderUtil.GetCapsuleExtents(target);
            float num = capsuleExtents.y + (2f * capsuleExtents.x);
            float x = capsuleExtents.x;
            Matrix4x4 matrix = ColliderUtil.CalculateCapsuleTransform(target);
            int hotControl = GUIUtility.hotControl;
            float height = target.height;
            Vector3 localPos = (Vector3) ((Vector3.left * num) * 0.5f);
            float num5 = SizeHandle(localPos, Vector3.left, matrix, true);
            if (!GUI.changed)
            {
                num5 = SizeHandle(-localPos, Vector3.right, matrix, true);
            }
            if (GUI.changed)
            {
                float num6 = num / target.height;
                height += num5 / num6;
            }
            float radius = target.radius;
            num5 = SizeHandle((Vector3) (Vector3.forward * x), Vector3.forward, matrix, true);
            if (!GUI.changed)
            {
                num5 = SizeHandle((Vector3) (-Vector3.forward * x), -Vector3.forward, matrix, true);
            }
            if (!GUI.changed)
            {
                num5 = SizeHandle((Vector3) (Vector3.up * x), Vector3.up, matrix, true);
            }
            if (!GUI.changed)
            {
                num5 = SizeHandle((Vector3) (-Vector3.up * x), -Vector3.up, matrix, true);
            }
            if (GUI.changed)
            {
                float num8 = Mathf.Max((float) (capsuleExtents.z / target.radius), (float) (capsuleExtents.x / target.radius));
                radius += num5 / num8;
            }
            if ((hotControl != GUIUtility.hotControl) && (GUIUtility.hotControl != 0))
            {
                this.m_HandleControlID = GUIUtility.hotControl;
            }
            if (GUI.changed)
            {
                Undo.RecordObject(target, "Modify Capsule Collider");
                target.radius = Mathf.Max(radius, 1E-05f);
                target.height = Mathf.Max(height, 1E-05f);
            }
            Handles.color = color;
            GUI.enabled = enabled;
        }