void OnGUIAllComponent() { EditorGUILayout.BeginHorizontal("box"); OnGUIIconLabel(objectIcon, new Vector2(16, 16)); EditorGUILayout.LabelField("All components in the scene"); if (GUILayout.Button("Export dot file", EditorStyles.toolbarButton)) { ExportReferenceText.ExportText(ExportReferenceText.ExportType.ComponentBase); } EditorGUILayout.EndHorizontal(); List <MonoScript> uniqueMonoscript = new List <MonoScript> (); foreach (var component in SceneObjectUtility.SceneComponents) { var monobehaviour = component as MonoBehaviour; if (monobehaviour == null) { continue; } var monoscript = MonoScript.FromMonoBehaviour((MonoBehaviour)monobehaviour); if (!uniqueMonoscript.Contains(monoscript)) { uniqueMonoscript.Add(monoscript); } } uniqueMonoscript.Sort((objA, objB) => { return(System.String.Compare(objA.name, objB.name)); }); foreach (var monoscript in uniqueMonoscript) { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("F", GUILayout.Width(20))) { SelectTargetComponent(monoscript); } EditorGUILayout.ObjectField(monoscript, typeof(MonoScript)); EditorGUILayout.EndHorizontal(); } }
void OnGUIAllObjectReferenceTo() { if (!isVisible) { EditorGUILayout.BeginHorizontal("box"); OnGUIIconLabel(toIcon, new Vector2(16, 16)); EditorGUILayout.LabelField("lost focus"); EditorGUILayout.EndHorizontal(); return; } EditorGUILayout.BeginHorizontal("box"); OnGUIIconLabel(toIcon, new Vector2(16, 16)); EditorGUILayout.LabelField("ALL Referencing"); if (GUILayout.Button("Export dot file", EditorStyles.toolbarButton)) { ExportReferenceText.ExportText(ExportReferenceText.ExportType.ObjectBase); } EditorGUILayout.EndHorizontal(); foreach (var obj in allObject) { if (obj == null) { continue; } var compList = System.Array.FindAll <ReferenceObject> (SceneObjectUtility.SceneReferenceObjects, item => item.referenceComponent.gameObject == obj); if (compList.Length == 0) { continue; } EditorGUILayout.BeginVertical("box"); EditorGUILayout.BeginHorizontal(); EditorGUI.indentLevel = 0; OnGUIIconLabel(objectIcon, new Vector2(16, 16), GUILayout.Width(18)); EditorGUILayout.ObjectField(obj, typeof(GameObject)); EditorGUILayout.EndHorizontal(); EditorGUI.indentLevel = 1; foreach (var comp in compList) { EditorGUILayout.BeginHorizontal(); if (comp.referenceComponent is MonoBehaviour) { var monoscript = MonoScript.FromMonoBehaviour((MonoBehaviour)comp.referenceComponent); EditorGUILayout.ObjectField(monoscript, typeof(MonoScript)); } else { EditorGUILayout.LabelField(comp.referenceComponent.GetType().Name); } EditorGUILayout.ObjectField(comp.referenceMemberName, comp.referenceComponent, comp.referenceComponent.GetType()); EditorGUILayout.EndHorizontal(); } EditorGUI.indentLevel = 0; EditorGUILayout.EndVertical(); } }