protected virtual void DrawHeader() { EditorGUILayout.BeginHorizontal(); int prevIndex = searchTypeIndex; searchTypeIndex = GUILayout.Toolbar(searchTypeIndex, searchTypeTexts); EditorGUILayout.EndHorizontal(); if (searchTypeIndex != prevIndex) { FindMissingComponents(CurrentSearchType); } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button(EditorGUIUtility.IconContent("d_Refresh"), GUILayout.MaxWidth(30))) { FindMissingComponents(CurrentSearchType); } if (missingComponentInfos.Count == 0) { GUILayout.Label("No missing components found"); } else { GUILayout.Label(EditorGUIUtility.IconContent("d_console.warnicon"), GUILayout.MaxWidth(20), GUILayout.MaxHeight(20)); GUILayout.Label("Found " + totalMissingComponentCount + " missing component(s)"); } GUI.enabled = missingComponentInfos.Count > 0; if (GUILayout.Button("Select All", GUILayout.MaxWidth(100))) { Selection.objects = missingComponentInfos.Select(info => info.gameObject).ToArray(); selectedInfo = null; } GUI.enabled = true; EditorGUILayout.EndHorizontal(); DrawLine(1); }
private void SelectGameObject(MissingComponentInfo info) { Selection.activeObject = info.gameObject; selectedInfo = info; EditorGUIUtility.PingObject(Selection.activeObject); }