Exemplo n.º 1
0
        private void FillBySearchForMissingComponents(bool testScene)
        {
            _prefabResults.Clear();
            _sceneResults.Clear();

            if (_targetScript != null)
            {
                if (testScene)
                {
                    foreach (var go in GameObject.FindObjectsOfType <GameObject>())
                    {
                        foreach (var c in go.GetComponents <Component>())
                        {
                            if (c == null)
                            {
                                _sceneResults.Add(go);
                                break;
                            }
                        }
                    }
                }
                else
                {
                    GameObject go;
                    foreach (var p in PrefabHelper.GetAllPrefabAssetPaths())
                    {
                        go = AssetDatabase.LoadMainAssetAtPath(p) as GameObject;
                        if (go != null && PrefabUtility.GetPrefabType(go) == PrefabType.Prefab)
                        {
                            foreach (var c in go.GetComponentsInChildren <Component>(true))
                            {
                                if (c == null)
                                {
                                    _prefabResults.Add(p);
                                }
                            }
                        }
                    }
                }
            }
        }