private static void OnGUI() { List <DiagnosticSwitch> list = new List <DiagnosticSwitch>(); Debug.GetDiagnosticSwitches(list); list.Sort((DiagnosticSwitch a, DiagnosticSwitch b) => Comparer <string> .Default.Compare(a.name, b.name)); DiagnosticSwitchPreferences.DoTopBar(); bool flag = false; using (EditorGUILayout.VerticalScrollViewScope verticalScrollViewScope = new EditorGUILayout.VerticalScrollViewScope(DiagnosticSwitchPreferences.s_ScrollOffset, false, GUI.skin.verticalScrollbar, DiagnosticSwitchPreferences.s_Resources.scrollArea, new GUILayoutOption[0])) { string filterString = DiagnosticSwitchPreferences.s_FilterString.ToLowerInvariant().Trim(); for (int i = 0; i < list.Count; i++) { if (DiagnosticSwitchPreferences.PassesFilter(list[i], filterString)) { flag |= DiagnosticSwitchPreferences.DisplaySwitch(list[i]); } } DiagnosticSwitchPreferences.s_ScrollOffset = verticalScrollViewScope.scrollPosition; } Rect rect = GUILayoutUtility.GetRect(DiagnosticSwitchPreferences.s_Resources.restartNeededWarning, EditorStyles.helpBox, new GUILayoutOption[] { GUILayout.MinHeight(40f) }); if (flag) { EditorGUI.HelpBox(rect, DiagnosticSwitchPreferences.s_Resources.restartNeededWarning.text, MessageType.Warning); } }