UnityEditor.SceneView.CheckDrawModeForRenderingPath C# (CSharp) Method

CheckDrawModeForRenderingPath() private method

private CheckDrawModeForRenderingPath ( DrawCameraMode mode ) : bool
mode DrawCameraMode
return bool
        internal bool CheckDrawModeForRenderingPath(DrawCameraMode mode)
        {
            RenderingPath actualRenderingPath = this.m_Camera.actualRenderingPath;
            if (((mode == DrawCameraMode.DeferredDiffuse) || (mode == DrawCameraMode.DeferredSpecular)) || ((mode == DrawCameraMode.DeferredSmoothness) || (mode == DrawCameraMode.DeferredNormal)))
            {
                return (actualRenderingPath == RenderingPath.DeferredShading);
            }
            return true;
        }

Usage Example

        void DoBuiltinMode(ref Rect rect, SceneView.CameraMode mode)
        {
            using (new EditorGUI.DisabledScope(!m_SceneView.CheckDrawModeForRenderingPath(mode.drawMode)))
            {
                EditorGUI.BeginChangeCheck();

                GUI.Toggle(rect, m_SceneView.cameraMode == mode, EditorGUIUtility.TextContent(mode.name), Styles.sMenuItem);
                if (EditorGUI.EndChangeCheck())
                {
                    m_SceneView.cameraMode = mode;
                    m_SceneView.Repaint();
                    GUIUtility.ExitGUI();
                }

                rect.y += EditorGUI.kSingleLineHeight;
            }
        }