void DrawBacktraceConfigSections() { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField(BacktraceIntegrationWindowLabels.LABEL_INTEGRATION_CONFIGSECTION_HEADER, BTEditorUtility.HeaderTextStyle); GUILayout.FlexibleSpace(); backtraceConfiguration = (BacktraceConfiguration)EditorGUILayout .ObjectField(backtraceConfiguration, typeof(BacktraceConfiguration), false, new GUILayoutOption[] { GUILayout.MinWidth(position.width / 3) }); EditorGUILayout.EndHorizontal(); BTEditorUtility.DrawHorizontalUILine(Color.grey, 2, 1); if (backtraceConfiguration != null) { BTEditorUtility.DrawSubHeading("Settings for: " + backtraceConfiguration.name); if (backtraceConfigurationEditor == null) { backtraceConfigurationEditor = UnityEditor.Editor.CreateEditor(backtraceConfiguration); } backtraceConfigurationEditor.OnInspectorGUI(); backtraceConfigurationEditor.Repaint(); } else { DrawConfigCreatorSection(); } }
private void OnGUI() { // Header BTEditorUtility.DrawHeader(logo, Color.white, position); BTEditorUtility.DrawHorizontalUILine(Color.black, 2, 1); // Documentation Links EditorGUILayout.LabelField(BacktraceIntegrationWindowLabels.LABEL_INTEGRATION_RESOURCELINKSSECTION_HEADER, BTEditorUtility.HeaderTextStyle); DrawDocumentationButtons(); BTEditorUtility.DrawHorizontalUILine(Color.black, 2, 1); GUILayout.Space(10); scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); // Config asset creation + manipulation DrawBacktraceConfigSections(); BTEditorUtility.DrawHorizontalUILine(Color.black, 2, 1); GUILayout.Space(10); // Client creation DrawBacktraceClientSection(); EditorGUILayout.EndScrollView(); // Notification box DrawNotificationMessage(); }
public static void DrawSubHeading(string subHeaderName) { BTEditorUtility.DrawHorizontalUILine(Color.grey, 1, 0); EditorGUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); EditorGUILayout.LabelField(subHeaderName, BTEditorUtility.SubHeaderTextStyle); GUILayout.FlexibleSpace(); EditorGUILayout.EndHorizontal(); BTEditorUtility.DrawHorizontalUILine(Color.grey, 1, 0); }
void DrawBacktraceClientSection() { EditorGUILayout.LabelField(BacktraceIntegrationWindowLabels.LABEL_INTEGRATION_CLIENTSECTION_HEADER, BTEditorUtility.HeaderTextStyle); BTEditorUtility.DrawHorizontalUILine(Color.grey, 2, 1); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button(BacktraceIntegrationWindowLabels.LABEL_INTEGRATION_CREATECLIENT_BUTTON, BTEditorUtility.BaseFieldSizingLayoutOptions)) { if (backtraceConfiguration == null) { logMessageType = MessageType.Warning; windowLogMessage = "Failed to create new Backtrace Client because you do not have a configuration selected. " + "Please create or select a Backtrace Configuration asset and try again."; } else { if (clientGameObject == null) { clientGameObject = new GameObject("BacktraceClient", typeof(BacktraceClient)); clientGameObject.GetComponent <BacktraceClient>().Configuration = backtraceConfiguration; logMessageType = MessageType.Info; windowLogMessage = "Backtrace Client created in Scene: " + SceneManager.GetActiveScene().name; } else { clientGameObject.GetComponent <BacktraceClient>().Configuration = backtraceConfiguration; logMessageType = MessageType.Warning; windowLogMessage = "Backtrace Client already exists in Scene: " + SceneManager.GetActiveScene().name + "\nThe existing Client was updated to reflect the currently selected Configuration"; } EditorUtility.FocusProjectWindow(); Selection.activeObject = clientGameObject; } } EditorGUILayout.EndHorizontal(); }