UnityEditor.FrameDebuggerWindow.ClickEnableFrameDebugger C# (CSharp) Method

ClickEnableFrameDebugger() private method

private ClickEnableFrameDebugger ( ) : void
return void
        private void ClickEnableFrameDebugger()
        {
            if (GraphicsSupportsFrameDebugger())
            {
                if ((!FrameDebuggerUtility.enabled && EditorApplication.isPlaying) && !EditorApplication.isPaused)
                {
                    EditorApplication.isPaused = true;
                }
                FrameDebuggerUtility.enabled = !FrameDebuggerUtility.enabled;
                if (FrameDebuggerUtility.enabled)
                {
                    GameView view = (GameView) WindowLayout.FindEditorWindowOfType(typeof(GameView));
                    if (view != null)
                    {
                        view.ShowTab();
                    }
                }
                this.m_PrevEventsLimit = FrameDebuggerUtility.limit;
                this.m_PrevEventsCount = FrameDebuggerUtility.count;
            }
        }

Usage Example

        private void DrawEnableDisableButton(FrameDebuggerWindow frameDebugger, IConnectionState m_AttachToPlayerState, out bool needsRepaint)
        {
            needsRepaint = false;

            EditorGUI.BeginChangeCheck();

            bool wasEnabled = GUI.enabled;

            GUI.enabled = m_AttachToPlayerState.connectedToTarget != ConnectionTarget.Editor || FrameDebuggerUtility.locallySupported;
            GUIContent button = (FrameDebugger.enabled) ? FrameDebuggerStyles.TopToolbar.recordButtonDisable : FrameDebuggerStyles.TopToolbar.recordButtonEnable;

            GUILayout.Toggle(FrameDebugger.enabled, button, EditorStyles.toolbarButtonLeft, GUILayout.MinWidth(80));
            GUI.enabled = wasEnabled;

            if (EditorGUI.EndChangeCheck())
            {
                frameDebugger.ClickEnableFrameDebugger();
                needsRepaint = true;
            }
        }