Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Resources.FindObjectsOfTypeAll

Объявление

public static T[] FindObjectsOfTypeAll();

Описание

Возвращает список всех объектов типа T.

Эта функция может возвращать любой тип загруженного объекта Unity, включая игровые объекты, префабы, материалы, сетки, текстуры и т. д. Она также отображает внутренние объекты, поэтому будьте осторожны с тем, как вы обрабатываете возвращенные объекты.< /p>

В отличие от Object.FindObjectsOfType, эта функция также выводит список отключенных объектов.

using System.Collections.Generic; using UnityEngine; using UnityEditor; public class ExampleScript : MonoBehaviour { List<GameObject> GetAllObjectsOnlyInScene() { List<GameObject> objectsInScene = new List<GameObject>(); foreach (GameObject go in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]) { if (!EditorUtility.IsPersistent(go.transform.root.gameObject) && !(go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)) objectsInScene.Add(go); } return objectsInScene; } }

Это вернет все игровые объекты в сцене в формате List.

using System.Collections.Generic; using UnityEngine; using UnityEditor; public class ExampleScript : MonoBehaviour { List<GameObject> GetNonSceneObjects() { List<GameObject> objectsInScene = new List<GameObject>(); foreach (GameObject go in Resources.FindObjectsOfTypeAll(typeof(GameObject)) as GameObject[]) { if (EditorUtility.IsPersistent(go.transform.root.gameObject) && !(go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)) objectsInScene.Add(go); } return objectsInScene; } }

Это вернет все игровые объекты в папке Resources, которые также являются префабами.


Объявление

public static Object[] FindObjectsOfTypeAll(Type type);

Описание

Возвращает список всех объектов типа type.

Эта функция, использующая неуниверсальные типы, может возвращать любой тип загруженного объекта Unity, включая игровые объекты, префабы, материалы, сетки, текстуры и т. д. возвращенные объекты. В отличие от Object.FindObjectsOfType, эта функция также выводит список отключенных объектов.

Примечание: эта функция очень медленная и не рекомендуется использовать ее каждый кадр.

using UnityEngine; using UnityEditor; using System.Collections.Generic; public class ExampleScript : MonoBehaviour { List GetSceneObjectsNonGeneric() { List objectsInScene = new List(); foreach (UnityEngine.Object go in Resources.FindObjectsOfTypeAll(typeof(UnityEngine.Object)) as UnityEngine.Object[]) { GameObject cGO = go as GameObject; if (cGO != null && !EditorUtility.IsPersistent(cGO.transform.root.gameObject) && !(go.hideFlags == HideFlags.NotEditable || go.hideFlags == HideFlags.HideAndDontSave)) objectsInScene.Add(go); } return objectsInScene; } }

Найти все игровые объекты в сцене, используя неуниверсальные методы.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3