Beispiel #1
0
        void OnEnable()
        {
            SceneObjectUtility.UpdateGlovalReferenceList();

            SceneView.onSceneGUIDelegate -= OnSceneGUI;
            SceneView.onSceneGUIDelegate += OnSceneGUI;
        }
Beispiel #2
0
        void DisappearUnreferenceObjects()
        {
            isHiding = true;

            var refObjectList = new List <ReferenceObject>();
            var allObject     = SceneObjectUtility.GetAllObjectsInScene(false);

            foreach (var obj in allObject)
            {
                obj.hideFlags = HideFlags.HideInHierarchy;
                SceneObjectUtility.GetReferenceObject(obj, refObjectList);
            }
            refObjectList.Sort((x, y) => { return(x.referenceComponent.GetInstanceID() - y.referenceComponent.GetInstanceID()); });

            foreach (var item in refObjectList)
            {
                ParentShow(item.referenceComponent.transform);
                if (item.value == null)
                {
                    continue;
                }

                var obj = SceneObjectUtility.GetGameObject(item.value);

                if (obj != null)
                {
                    ParentShow(obj.transform);
                }
            }
        }
Beispiel #3
0
 void OnHierarchyChange()
 {
     if (EditorApplication.isPlaying == false)
     {
         SceneObjectUtility.UpdateGlovalReferenceList();
     }
 }
Beispiel #4
0
        public void ReferenceUpdate()
        {
            referenceObjectList.Clear();

            foreach (var selection in Selection.gameObjects)
            {
                SceneObjectUtility.FindReferenceObject(selection, referenceObjectList);
            }


            if (ignoreSelfReference)
            {
                foreach (var selection in Selection.gameObjects)
                {
                    referenceObjectList.RemoveAll(item => item.referenceComponent.gameObject == selection);
                }
            }

            referenceObjectList.RemoveAll(item => (item.value is Component || item.value is GameObject) == false);

            referenceObjectList.Sort((x, y) => GetObjectID(x.referenceComponent) - GetObjectID(y.referenceComponent));

            refCompItems.Clear();
            foreach (var referenceObject in referenceObjectList)
            {
                if (!refCompItems.Exists(item => item.componentType == referenceObject.referenceComponent.GetType()))
                {
                    refCompItems.Add(new ReferenceObjectItem()
                    {
                        componentType = referenceObject.referenceComponent.GetType(),
                        isDisplay     = true,
                    });
                }
            }
        }
Beispiel #5
0
        void FindLayers()
        {
            var allObjects = SceneObjectUtility.GetAllObjectsInScene(false);

            layerWithObjectList.Clear();

            int defaultLayer = LayerMask.NameToLayer("Default");

            foreach (var obj in allObjects)
            {
                if (obj.layer == defaultLayer)
                {
                    continue;
                }

                var layerWithObj = layerWithObjectList.Find((item) => item.layer == obj.layer);

                if (layerWithObj == null)
                {
                    layerWithObj = new LayerWithObject()
                    {
                        layer = obj.layer
                    };
                    layerWithObjectList.Add(layerWithObj);
                }

                layerWithObj.objectList.Add(obj);
            }
        }
Beispiel #6
0
        void FindTags()
        {
            var allObjects = SceneObjectUtility.GetAllObjectsInScene(false);

            tagWithObjectList.Clear();

            foreach (var obj in allObjects)
            {
                if (obj.CompareTag("Untagged"))
                {
                    continue;
                }

                var tagWithObj = tagWithObjectList.Find((item) => item.tag == obj.tag);

                if (tagWithObj == null)
                {
                    tagWithObj = new TagWithObjects()
                    {
                        tag = obj.tag
                    };
                    tagWithObjectList.Add(tagWithObj);
                }

                tagWithObj.objectList.Add(obj);
            }
        }
        void SelectTargetComponent(MonoScript target)
        {
            var allObject = SceneObjectUtility.GetAllObjectsInScene(false);

            var haveComponentObjects = allObject.FindAll(item => item.GetComponent(target.name) != null);

            Selection.objects = haveComponentObjects.ToArray();
        }
Beispiel #8
0
        void AppearUnreferenceObjects()
        {
            isHiding = false;
            var allObject = SceneObjectUtility.GetAllObjectsInScene(false);

            foreach (var obj in allObject)
            {
                obj.hideFlags = HideFlags.None;
            }
        }
Beispiel #9
0
        public static void UpdatePerahpsReferenceObjectList(MonoBehaviour component, List <PerhapsReferenceObject> list)
        {
            // analytics  source code.
            var monoScript      = MonoScript.FromMonoBehaviour(component);
            var uniqueClassList = SceneObjectUtility.SceneUniqueComponentName();

            foreach (var text in monoScript.text.Split(';'))
            {
                foreach (var methodPattern in getComponentFunctionPattern)
                {
                    Match m = Regex.Match(text, methodPattern);

                    if (m.Success)
                    {
                        var className = m.Groups ["call"].ToString();

                        if (!list.Exists(item => item.compType == component.GetType() && item.referenceMonobehaviourName == className))
                        {
                            var method = new PerhapsReferenceObject()
                            {
                                compType = component.GetType(),
                                referenceMonobehaviourName = className,
                                monoscript = monoScript,
                            };
                            list.Add(method);

                            uniqueClassList.RemoveAll(item => item.Name == className);
                        }
                    }
                }

                foreach (var className in uniqueClassList)
                {
                    if (component.GetType() == className)
                    {
                        continue;
                    }
                    var result = text.IndexOf(className.Name);
                    if (result != -1 && result != 0)
                    {
                        if (!list.Exists(item => item.compType == component.GetType() && item.referenceMonobehaviourName == className.Name))
                        {
                            var method = new PerhapsReferenceObject()
                            {
                                compType = component.GetType(),
                                referenceMonobehaviourName = className.Name,
                                monoscript = monoScript,
                            };
                            list.Add(method);
                            continue;
                        }
                    }
                }
            }
        }
        void UpdateAllObject()
        {
            allObject = SceneObjectUtility.GetAllObjectsInScene(false);
            allObject.Sort((x, y) => {
                return(System.String.Compare(x.name, y.name));
            });

            if (SceneObjectUtility.SceneReferenceObjects.Length == 0)
            {
                SceneObjectUtility.UpdateReferenceList();
            }
        }
Beispiel #11
0
        public void SceneGuiLineWriter(GameObject selection)
        {
            var cameraTransform = SceneView.currentDrawingSceneView.camera.transform;
            var rotate          = cameraTransform.rotation;
            var cameraPos       = cameraTransform.position;

            Color shadowCol = new Color(0, 0, 0.5f, 0.06f);

            var enableTypeList = refCompItems.FindAll(item => item.isDisplay == true);

            var referenceList = referenceObjectList.FindAll(item => SceneObjectUtility.GetGameObject(item.value) == selection);

            foreach (var refs in referenceList)
            {
                if (!enableTypeList.Exists(item => item.componentType == refs.referenceComponent.GetType()))
                {
                    continue;
                }

                var obj = SceneObjectUtility.GetGameObject(refs.referenceComponent);

                var startPosition = selection.transform.position;
                var endPosition   = obj.transform.position;

                var size = Vector3.Distance(endPosition, cameraPos) * 0.02f;

                if (startPosition == endPosition)
                {
                    continue;
                }

                Handles.color = Color.blue;

                var diffPos = startPosition - endPosition;
                var tan     = new Vector3(diffPos.y, diffPos.x, diffPos.z);


                var startTan = startPosition;
                var endTan   = endPosition + tan * 0.4f;

                Handles.CircleCap(1, endPosition, rotate, size);

                for (int i = 0; i < 3; i++)
                {
                    Handles.DrawBezier(startPosition, endPosition, startTan, endTan, shadowCol, null, (i + 1) * 5);
                }
                Handles.DrawBezier(startPosition, endPosition, startTan, endTan, Color.blue, null, 1);
                Handles.Label(endPosition, obj.name);
            }
        }
        void UpdateCameras()
        {
            allCameras.Clear();
            var allObject = SceneObjectUtility.GetAllObjectsInScene(false);

            foreach (var obj in allObject)
            {
                var camera = obj.GetComponent <Camera>();
                if (camera != null)
                {
                    allCameras.Add(camera);
                }
            }

            SortCamera();
        }
Beispiel #13
0
 void PlayModeChange()
 {
     if (EditorApplication.isPaused || EditorApplication.isPlaying == false)
     {
         SceneObjectUtility.UpdateGlovalReferenceList();
     }
     if (isHiding == true)
     {
         AppearUnreferenceObjects();
         DisappearUnreferenceObjects();
     }
     else
     {
         DisappearUnreferenceObjects();
         AppearUnreferenceObjects();
     }
 }
        void OnGUIAllObjectReferenceFrom()
        {
            if (!isVisible)
            {
                EditorGUILayout.BeginHorizontal("box");
                OnGUIIconLabel(fromIcon, new Vector2(16, 16));
                EditorGUILayout.LabelField("lost focus");
                EditorGUILayout.EndHorizontal();
                return;
            }

            EditorGUILayout.BeginHorizontal("box");
            OnGUIIconLabel(fromIcon, new Vector2(16, 16));
            EditorGUILayout.LabelField("ALL reference by");
            EditorGUILayout.EndHorizontal();


            foreach (var obj in allObject)
            {
                var referenceFromTargetObjectList = System.Array.FindAll <ReferenceObject> (SceneObjectUtility.SceneReferenceObjects,
                                                                                            item => SceneObjectUtility.GetGameObject(item.value) == obj);

                if (referenceFromTargetObjectList.Length == 0)
                {
                    continue;
                }

                EditorGUI.indentLevel = 0;
                EditorGUILayout.BeginVertical("box");
                EditorGUILayout.BeginHorizontal();
                OnGUIIconLabel(objectIcon, new Vector2(16, 16), GUILayout.Width(18));
                EditorGUILayout.ObjectField(obj, typeof(GameObject));
                EditorGUILayout.EndHorizontal();


                EditorGUI.indentLevel = 1;
                foreach (var referenceObject in referenceFromTargetObjectList)
                {
                    EditorGUILayout.BeginHorizontal();
                    if (referenceObject.referenceComponent is MonoBehaviour)
                    {
                        var monoscript = MonoScript.FromMonoBehaviour((MonoBehaviour)referenceObject.referenceComponent);
                        EditorGUILayout.ObjectField(monoscript, typeof(MonoScript));
                    }
                    else
                    {
                        EditorGUILayout.LabelField(referenceObject.referenceComponent.GetType().Name);
                    }

                    EditorGUILayout.ObjectField(referenceObject.referenceMemberName, referenceObject.referenceComponent, referenceObject.referenceComponent.GetType());
                    EditorGUILayout.EndHorizontal();
                }
                EditorGUILayout.EndVertical();
                EditorGUI.indentLevel = 0;
            }
        }
        static string GameObjectBaseGraph()
        {
            List <string> uniqueStrings = new List <string>();
            StringBuilder exportText    = new StringBuilder();
            Dictionary <string, List <ReferenceObject> > itemDirectry = new Dictionary <string, List <ReferenceObject> >();

            SceneObjectUtility.UpdateGlovalReferenceList();

            exportText.AppendLine("digraph sample {");
            exportText.AppendLine("graph [rankdir=\"LR\"]");
            exportText.AppendLine("node [ shape = record , style=filled, fillcolor=\"#efefef\",fontname=Helvetica, fontsize=10.5, fontcolor=\"#2b2b2b\", height=0.25, width=1, penwidth=0 ];");
            exportText.AppendLine("edge [arrowhead=normal,arrowsize=0.5,len=0.5, color=\"#bfbfbf\"];");

            foreach (var obj in SceneObjectUtility.SceneReferenceObjects)
            {
                var root = obj.referenceComponent.gameObject.transform.root;

                if (root.CompareTag("EditorOnly"))
                {
                    continue;
                }

                if (!itemDirectry.ContainsKey(root.name))
                {
                    itemDirectry.Add(root.name, new List <ReferenceObject>());
                }
                var list = itemDirectry[root.name];
                list.Add(obj);
            }

            foreach (var dic in itemDirectry.Keys)
            {
                if (dic == null)
                {
                    continue;
                }

                var list = itemDirectry[dic];
                list.RemoveAll(item => SceneObjectUtility.GetGameObject(item.value) == item.referenceComponent.gameObject);
                if (list.Count == 0)
                {
                    continue;
                }

                foreach (var obj in list)
                {
                    var baseObject = obj.referenceComponent.gameObject;
                    var toObject   = SceneObjectUtility.GetGameObject(obj.value);

                    if (toObject == null)
                    {
                        continue;
                    }

                    if (toObject.name.Equals(baseObject.name) && toObject.GetInstanceID() == baseObject.GetInstanceID())
                    {
                        continue;
                    }

                    string text = string.Format("\"{0}\" -> \"{2}\";", baseObject.name, baseObject.GetInstanceID(), toObject.name, toObject.GetInstanceID());

                    if (uniqueStrings.Contains(text))
                    {
                        continue;
                    }

                    exportText.AppendLine(text);
                    uniqueStrings.Add(text);
                }
            }



            exportText.AppendLine("}");

            return(exportText.ToString());
        }
        static string ComponentBaseGraph()
        {
            List <string> uniqueStrings = new List <string>();
            StringBuilder exportText    = new StringBuilder();
            Dictionary <string, List <ReferenceObject> > itemDirectry = new Dictionary <string, List <ReferenceObject> >();
            List <string> ignoreType = new List <string> {
                "GameObject", "Transform"
            };

            List <MonoBehaviour> monobehaviourList = new List <MonoBehaviour>();

            SceneObjectUtility.UpdateGlovalReferenceList();

            exportText.AppendLine("digraph sample {");
            exportText.AppendLine("graph [rankdir=\"LR\"]");
            exportText.AppendLine("node [ shape = record , style=filled, fillcolor=\"#efefef\",fontname=Helvetica, fontsize=10.5, fontcolor=\"#2b2b2b\", height=0.25, width=1, penwidth=0.1 ];");
            exportText.AppendLine("edge [arrowhead=normal,arrowsize=0.5,len=0.5, color=\"#bfbfbf\"];");


            foreach (var obj in SceneObjectUtility.GetAllObjectsInScene(false))
            {
                foreach (var comp in obj.GetComponents <MonoBehaviour>())
                {
                    monobehaviourList.Add(comp);
                }
            }

            ///-------------------


            foreach (var obj in SceneObjectUtility.SceneReferenceObjects)
            {
                var componentType = obj.referenceComponent.GetType().Name;

                if (obj.referenceComponent.gameObject.CompareTag("EditorOnly"))
                {
                    continue;
                }

                if (!itemDirectry.ContainsKey(componentType))
                {
                    itemDirectry.Add(componentType, new List <ReferenceObject>());
                }
                var list = itemDirectry[componentType];
                list.Add(obj);
            }

            foreach (var dic in itemDirectry.Keys)
            {
                if (dic == null)
                {
                    continue;
                }

                var list = itemDirectry[dic];
                list.RemoveAll(item => SceneObjectUtility.GetGameObject(item.value) == item.referenceComponent.gameObject);
                if (list.Count == 0)
                {
                    continue;
                }

                foreach (var obj in list)
                {
                    var baseObject = obj.referenceComponent.GetType();
                    var toObject   = obj.value.GetType();

                    if (toObject == null)
                    {
                        continue;
                    }

                    if (ignoreType.Contains(toObject.Name))
                    {
                        continue;
                    }


                    string text = string.Format("\"{0}\" -> \"{1}\";", baseObject.Name, toObject.Name);

                    if (uniqueStrings.Contains(text))
                    {
                        continue;
                    }

                    exportText.AppendLine(text);
                    uniqueStrings.Add(text);
                }
            }

            ///-------------------


            List <ToReferenceWindow.PerhapsReferenceObject> perhapsList = new List <ToReferenceWindow.PerhapsReferenceObject>();

            foreach (var monobehaviour in monobehaviourList)
            {
                ToReferenceWindow.UpdatePerahpsReferenceObjectList(monobehaviour, perhapsList);
            }


            foreach (var obj in perhapsList)
            {
                if (ignoreType.Contains(obj.referenceMonobehaviourName))
                {
                    continue;
                }


                string text = string.Format("\"{0}\" -> \"{1}\";", obj.compType.Name, obj.referenceMonobehaviourName);

                if (uniqueStrings.Contains(text))
                {
                    continue;
                }

                exportText.AppendLine(text);
                uniqueStrings.Add(text);
            }


            ///-------------------


            List <CallbackCallObject> callbackObjectList = new List <CallbackCallObject>();

            foreach (var monobehaviour in monobehaviourList)
            {
                foreach (var text in MonoScript.FromMonoBehaviour(monobehaviour).text.Split(';'))
                {
                    if (SceneObjectUtility.AddMatchMethod(text, monobehaviour, "SendMessage\\((?<call>.*?),.*\\)", callbackObjectList))
                    {
                        continue;
                    }
                    if (SceneObjectUtility.AddMatchMethod(text, monobehaviour, "SendMessage\\((?<call>.*?)\\)", callbackObjectList))
                    {
                        continue;
                    }
                    if (SceneObjectUtility.AddMatchMethod(text, monobehaviour, "BroadcastMessage\\((?<call>.*?)\\)", callbackObjectList))
                    {
                        continue;
                    }
                    if (SceneObjectUtility.AddMatchMethod(text, monobehaviour, "BroadcastMessage\\((?<call>.*?)\\)", callbackObjectList))
                    {
                        continue;
                    }
                }
            }

            foreach (var callback in callbackObjectList)
            {
                foreach (var item in monobehaviourList)
                {
                    var method = item.GetType().GetMethod(callback.method,
                                                          System.Reflection.BindingFlags.NonPublic |
                                                          System.Reflection.BindingFlags.Public |
                                                          System.Reflection.BindingFlags.Instance);
                    if (method != null)
                    {
                        foreach (var comp in callback.callComponent)
                        {
                            if (ignoreType.Contains(item.GetType().Name))
                            {
                                continue;
                            }

                            string text = string.Format("\"{0}\" -> \"{1}\" [style = dotted];", comp.GetType().Name, item.GetType().Name);
                            if (uniqueStrings.Contains(text))
                            {
                                continue;
                            }
                            exportText.AppendLine(text);
                            uniqueStrings.Add(text);
                        }
                    }
                }
            }

            List <ANimationCallbackObject> animCallbackObjectList = new List <ANimationCallbackObject>();

            foreach (var obj in SceneObjectUtility.GetAllObjectsInScene(false))
            {
                if (obj.GetComponent <Animator>() != null)
                {
                    SceneObjectUtility.GetAnimationEvents(obj.GetComponent <Animator>(), animCallbackObjectList);
                }
            }

            foreach (var callback in animCallbackObjectList)
            {
                foreach (var item in monobehaviourList)
                {
                    var method = item.GetType().GetMethod(callback.method,
                                                          System.Reflection.BindingFlags.NonPublic |
                                                          System.Reflection.BindingFlags.Public |
                                                          System.Reflection.BindingFlags.Instance);
                    if (method != null)
                    {
                        foreach (var comp in callback.callComponent)
                        {
                            if (ignoreType.Contains(item.GetType().Name))
                            {
                                continue;
                            }

                            string text = string.Format("\"AnimClip({0})\" -> \"{1}\" [style = dotted];", callback.clip.name, item.GetType().Name);
                            if (uniqueStrings.Contains(text))
                            {
                                continue;
                            }
                            exportText.AppendLine(text);
                            uniqueStrings.Add(text);
                        }
                    }
                }
            }



            //---------------


            List <CallbackObject> co = new List <CallbackObject>();

            if (GameObject.FindObjectOfType <Collider2D>() != null)
            {
                co.Add(new CallbackObject()
                {
                    method = "OnCollisionEnter2D", callComponenttype = typeof(Collider2D)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnCollisionExit2D", callComponenttype = typeof(Collider2D)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnCollisionStay2D", callComponenttype = typeof(Collider2D)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnTriggerEnter2D", callComponenttype = typeof(Collider2D)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnTriggerExit2D", callComponenttype = typeof(Collider2D)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnTriggerStay2D", callComponenttype = typeof(Collider2D)
                });
            }

            if (GameObject.FindObjectOfType <Collider>() != null)
            {
                co.Add(new CallbackObject()
                {
                    method = "OnCollisionEnter", callComponenttype = typeof(Collider)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnCollisionExit", callComponenttype = typeof(Collider)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnCollisionStay", callComponenttype = typeof(Collider)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnTriggerEnter", callComponenttype = typeof(Collider)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnTriggerExit", callComponenttype = typeof(Collider)
                });
                co.Add(new CallbackObject()
                {
                    method = "OnTriggerStay", callComponenttype = typeof(Collider)
                });
            }

            if (GameObject.FindObjectOfType <Animator>() != null)
            {
                co.Add(new CallbackObject()
                {
                    method = "OnAnimatorMove", callComponenttype = typeof(Animator)
                });
            }

            if (GameObject.FindObjectOfType <Camera>() != null)
            {
                var type = typeof(Camera);
                co.Add(new CallbackObject()
                {
                    method = "OnPostRender", callComponenttype = type
                });
                co.Add(new CallbackObject()
                {
                    method = "OnPreCull", callComponenttype = type
                });
                co.Add(new CallbackObject()
                {
                    method = "OnPreRender", callComponenttype = type
                });
                co.Add(new CallbackObject()
                {
                    method = "OnRenderImage", callComponenttype = type
                });
                co.Add(new CallbackObject()
                {
                    method = "OnRenderObject", callComponenttype = type
                });
                co.Add(new CallbackObject()
                {
                    method = "OnWillRenderObject ", callComponenttype = type
                });
            }

            List <System.Type> uniqueMonobehaviourType = new List <System.Type>();

            foreach (var monobehaviour in monobehaviourList)
            {
                var type = monobehaviour.GetType();
                if (!uniqueMonobehaviourType.Contains(type))
                {
                    uniqueMonobehaviourType.Add(type);
                }
            }

            foreach (var callback in co)
            {
                foreach (var monobehaviourType in uniqueMonobehaviourType)
                {
                    var method = monobehaviourType.GetMethod(callback.method,
                                                             System.Reflection.BindingFlags.NonPublic |
                                                             System.Reflection.BindingFlags.Public |
                                                             System.Reflection.BindingFlags.Instance);

                    if (method != null)
                    {
                        string text = string.Format("\"{0}\" -> \"{1}\" [style = dotted];", callback.callComponenttype.Name, monobehaviourType.Name);
                        if (uniqueStrings.Contains(text))
                        {
                            continue;
                        }
                        exportText.AppendLine(text);
                        uniqueStrings.Add(text);
                    }
                }
            }


            exportText.AppendLine("}");

            return(exportText.ToString());
        }
 public void OnFocus()
 {
     SceneObjectUtility.UpdateReferenceList();
     UpdateCalledObjectList();
 }
Beispiel #18
0
        public void OnSelectionChange()
        {
            referenceObjectList.Clear();
            perhapsReferenceObjectList.Clear();

            SceneObjectUtility.UpdateReferenceList();

            foreach (var selection in Selection.gameObjects)
            {
                SceneObjectUtility.GetReferenceObject(selection, referenceObjectList);

                if (findWillAccessComponent)
                {
                    foreach (var component in selection.GetComponents <MonoBehaviour>())
                    {
                        UpdatePerahpsReferenceObjectList(component, perhapsReferenceObjectList);
                    }
                }
            }


            if (ignoreSelfReference)
            {
                foreach (var selection in Selection.gameObjects)
                {
                    referenceObjectList.RemoveAll(item => SceneObjectUtility.GetGameObject(item.value) == selection);
                }
            }

            refCompItems.Clear();

            if (findWillAccessComponent)
            {
                foreach (var selection in Selection.gameObjects)
                {
                    foreach (var component in selection.GetComponents <MonoBehaviour>())
                    {
                        if (!refCompItems.Exists(item => item.componentType == component.GetType()))
                        {
                            refCompItems.Add(new ReferenceObjectItem()
                            {
                                componentType = component.GetType(),
                                isDisplay     = true,
                            });
                        }
                    }
                }

                foreach (var obj in referenceObjectList)
                {
                    perhapsReferenceObjectList.RemoveAll(item => item.referenceMonobehaviourName == obj.value.GetType().Name);
                }
            }
            else
            {
                foreach (var referenceObject in referenceObjectList)
                {
                    if (!refCompItems.Exists(item => item.componentType == referenceObject.referenceComponent.GetType()))
                    {
                        refCompItems.Add(new ReferenceObjectItem()
                        {
                            componentType = referenceObject.referenceComponent.GetType(),
                            isDisplay     = true,
                        });
                    }
                }
            }
        }
Beispiel #19
0
 void OnHierarchyChange()
 {
     SceneObjectUtility.UpdateGlovalReferenceList();
 }
Beispiel #20
0
 void OnFocus()
 {
     SceneObjectUtility.UpdateGlovalReferenceList();
 }