Beispiel #1
0
        static public FastList <T> SearchAllScenes <T>(bool searchInActiveGameObjects) where T : Component
        {
            var list = new FastList <T>();

            #if !UNITY_5
            FastList <GameObject> gos = GetAllRootGameObjects();

            for (int i = 0; i < gos.Count; i++)
            {
                var result = SearchParent <T>(gos.items[i], searchInActiveGameObjects);

                list.AddRange(result);
            }
            #else
            list.items = GameObject.FindObjectsOfType <T>();
            list.SetCount(list.items.Length);

            if (!searchInActiveGameObjects)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    if (!list.items[i].gameObject.activeInHierarchy)
                    {
                        list.RemoveAt(i--);
                    }
                }
            }
            #endif

            return(list);
        }
Beispiel #2
0
 // Token: 0x060025A0 RID: 9632 RVA: 0x000BC028 File Offset: 0x000BA228
 public static FastList<GameObject> GetAllRootGameObjects()
 {
     FastList<GameObject> fastList = new FastList<GameObject>();
     for (int i = 0; i < SceneManager.sceneCount; i++)
     {
         fastList.AddRange(SceneManager.GetSceneAt(i).GetRootGameObjects());
     }
     return fastList;
 }
Beispiel #3
0
        static public FastList <GameObject> GetAllRootGameObjects()
        {
            FastList <GameObject> list = new FastList <GameObject>();

            for (int i = 0; i < UnityEngine.SceneManagement.SceneManager.sceneCount; i++)
            {
                list.AddRange(UnityEngine.SceneManagement.SceneManager.GetSceneAt(i).GetRootGameObjects());
            }

            return(list);
        }
Beispiel #4
0
 // Token: 0x060025A2 RID: 9634 RVA: 0x000BC0E4 File Offset: 0x000BA2E4
 public static T[] SearchScene<T>(Scene scene, bool searchInActiveGameObjects)
     where T : Component
 {
     GameObject[] rootGameObjects = scene.GetRootGameObjects();
     FastList<T> fastList = new FastList<T>();
     foreach (GameObject parentGO in rootGameObjects)
     {
         fastList.AddRange(Methods.SearchParent<T>(parentGO, searchInActiveGameObjects));
     }
     return fastList.ToArray();
 }
Beispiel #5
0
 // Token: 0x060025A3 RID: 9635 RVA: 0x000BC124 File Offset: 0x000BA324
 public static FastList<T> SearchAllScenes<T>(bool searchInActiveGameObjects)
     where T : Component
 {
     FastList<T> fastList = new FastList<T>();
     FastList<GameObject> allRootGameObjects = Methods.GetAllRootGameObjects();
     for (int i = 0; i < allRootGameObjects.Count; i++)
     {
         T[] arrayItems = Methods.SearchParent<T>(allRootGameObjects.items[i], searchInActiveGameObjects);
         fastList.AddRange(arrayItems);
     }
     return fastList;
 }
Beispiel #6
0
        static public T[] SearchScene <T>(UnityEngine.SceneManagement.Scene scene, bool searchInActiveGameObjects) where T : Component
        {
            var gos = scene.GetRootGameObjects();

            var list = new FastList <T>();

            foreach (var go in gos)
            {
                list.AddRange(SearchParent <T>(go, searchInActiveGameObjects));
            }

            return(list.ToArray());
        }
Beispiel #7
0
        static public FastList <T> SearchAllScenes <T>(bool searchInActiveGameObjects) where T : Component
        {
            var list = new FastList <T>();

            FastList <GameObject> gos = GetAllRootGameObjects();

            for (int i = 0; i < gos.Count; i++)
            {
                var result = SearchParent <T>(gos.items[i], searchInActiveGameObjects);

                list.AddRange(result);
            }

            return(list);
        }
Beispiel #8
0
        static public void SelectChildrenWithMeshRenderer(GameObject[] parentGOs)
        {
#if UNITY_EDITOR
            FastList <MeshRenderer> mrList = new FastList <MeshRenderer>(1024);

            for (int i = 0; i < parentGOs.Length; i++)
            {
                MeshRenderer[] mrs = parentGOs[i].GetComponentsInChildren <MeshRenderer>();
                mrList.AddRange(mrs);
            }

            GameObject[] gos = new GameObject[mrList.Count];

            for (int i = 0; i < mrList.Count; i++)
            {
                gos[i] = mrList.items[i].gameObject;
            }

            UnityEditor.Selection.objects = gos;
#endif
        }