public override void OnInspectorGUI() { SRDebugEditorUtil.DrawLogo(SRDebugEditorUtil.GetLogo()); GUILayout.Label( "This asset contains the runtime settings used by SRDebugger. It is recommended that this asset be edited only via the SRDebugger Settings window.", EditorStyles.wordWrappedLabel); EditorGUILayout.Separator(); if (GUILayout.Button("Open SRDebugger Settings Window")) { SRDebuggerSettingsWindow.Open(); } if (!_override) { if (GUILayout.Button("Override Warning")) { _override = true; } } else { GUILayout.Label( "You have been warned...", EditorStyles.wordWrappedLabel); } EditorGUILayout.Separator(); if (_override) { base.OnInspectorGUI(); } }
private void OnGUI() { // Draw header area SRDebugEditorUtil.BeginDrawBackground(); SRDebugEditorUtil.DrawLogo(SRDebugEditorUtil.GetLogo()); SRDebugEditorUtil.EndDrawBackground(); // Draw header/content divider EditorGUILayout.BeginVertical(SRDebugEditorUtil.Styles.SettingsHeaderBoxStyle); EditorGUILayout.EndVertical(); // Draw tab buttons var rect = EditorGUILayout.BeginVertical(GUI.skin.box); --rect.width; var height = 18; EditorGUI.BeginChangeCheck(); EditorGUI.BeginDisabledGroup(!_enableTabChange); for (var i = 0; i < _tabs.Length; ++i) { var xStart = Mathf.RoundToInt(i * rect.width / _tabs.Length); var xEnd = Mathf.RoundToInt((i + 1) * rect.width / _tabs.Length); var pos = new Rect(rect.x + xStart, rect.y, xEnd - xStart, height); if (GUI.Toggle(pos, (int)_selectedTab == i, new GUIContent(_tabs[i]), EditorStyles.toolbarButton)) { _selectedTab = (Tabs)i; } } GUILayoutUtility.GetRect(10f, height); EditorGUI.EndDisabledGroup(); if (EditorGUI.EndChangeCheck()) { _scrollPosition = Vector2.zero; GUIUtility.keyboardControl = 0; } // Draw selected tab switch (_selectedTab) { case Tabs.General: DrawTabGeneral(); break; case Tabs.Layout: DrawTabLayout(); break; case Tabs.Bug_Reporter: DrawTabBugReporter(); break; case Tabs.Shortcuts: DrawTabShortcuts(); break; case Tabs.Advanced: DrawTabAdvanced(); break; } EditorGUILayout.EndVertical(); // Display rating prompt and link buttons EditorGUILayout.LabelField(SRDebugStrings.Current.SettingsRateBoxContents, EditorStyles.miniLabel); SRDebugEditorUtil.DrawFooterLayout(Screen.width); if (GUI.changed) { EditorUtility.SetDirty(Settings.Instance); } }