public override void OnGUI(string searchContext) { EditorGUIUtility.labelWidth = 300; ProfilerUserSettings.frameCount = EditorGUILayout.IntSlider(Content.k_FrameCountText, ProfilerUserSettings.frameCount, ProfilerUserSettings.kMinFrameCount, ProfilerUserSettings.kMaxFrameCount); if (ProfilerUserSettings.frameCount > 600) { EditorGUILayout.HelpBox(Content.k_FrameCountWarningText); } ProfilerUserSettings.showStatsLabelsOnCurrentFrame = EditorGUILayout.Toggle(ProfilerWindow.Styles.showStatsLabelsOnCurrentFrameLabel, ProfilerUserSettings.showStatsLabelsOnCurrentFrame); var defaultRecordStateIndex = EditorGUILayout.Popup(Content.k_DefaultRecordState, ProfilerUserSettings.rememberLastRecordState ? 0 : (ProfilerUserSettings.defaultRecordState ? 1 : 2), Content.k_RecordStates); if (defaultRecordStateIndex == 0) { ProfilerUserSettings.rememberLastRecordState = true; } else { ProfilerUserSettings.rememberLastRecordState = false; ProfilerUserSettings.defaultRecordState = defaultRecordStateIndex == 1; } var defaultModeIndexIndex = EditorGUILayout.Popup(Content.k_DefaultTargetMode, (int)ProfilerUserSettings.defaultTargetMode, Content.k_TargetModes); ProfilerUserSettings.defaultTargetMode = (ProfilerEditorTargetMode)defaultModeIndexIndex; GUI.SetNextControlName("connectionID"); connectionID = EditorGUILayout.TextField("Custom connection ID", connectionID); if ((Event.current.isKey && Event.current.keyCode == KeyCode.Space && GUI.GetNameOfFocusedControl() == "connectionID")) { connectionID = connectionID.Replace(" ", "_"); Repaint(); } if ((Event.current.isKey && Event.current.keyCode == KeyCode.Return && GUI.GetNameOfFocusedControl() == "connectionID") || GUI.GetNameOfFocusedControl() != "connectionID") { ValidateConnectionId(); } Rect r = GUILayoutUtility.GetRect(100, 40); if (ProfilerUserSettings.ValidCustomConnectionID(connectionID)) { EditorGUI.HelpBox(r, $"Connection ID cannot contain \", * or be more than 26 characters in length. Spaces will be converted to underscores.", MessageType.Info); } else { EditorGUI.HelpBox(r, $"Connection ID contains \", * or is more than 26 characters in length and will be reverted", MessageType.Error); } }
private void ValidateConnectionId() { if (ProfilerUserSettings.ValidCustomConnectionID(connectionID)) { ProfilerUserSettings.customConnectionID = connectionID; } else { connectionID = ProfilerUserSettings.customConnectionID; Repaint(); } }