Объявление
public static Object[] CollectDeepHierarchy(Object[] roots);Параметры
roots | Массив объектов, с которых начнется поиск. |
Возвращает
Object[] Массив объектов, иерархически присоединенных к массиву поиска.
Описание
Собрать все объекты в иерархии с корнем в каждом из заданных объектов.
Это наиболее полезно для линеаризации целых иерархий GameObject, включая все их компоненты. Обратите внимание, что обход не будет включать активы, на которые есть ссылки внутри иерархии. Например, наличие компонента MeshFilter в иерархии не приведет к тому, что указанная сетка будет включена в результирующий список.
using UnityEngine;
using UnityEditor;
public class CollectHierarchyExample : MonoBehaviour
{
void Start()
{
// Создаем два GameObject
GameObject parent = new GameObject();
GameObject child = new GameObject();
Object[] roots = new Object[] { parent };
// Назови их
parent.name = "Parent";
child.name = "Child";
// Сделать один дочерним по отношению к другому.
child.transform.parent = parent.transform;
// Собрать всю иерархию
Object[] result = EditorUtility.CollectDeepHierarchy(roots);
// Dump results. Will log four objects to the console;
// two GameObjects ("Parent" and "Child") and two Transform
// components (one belonging to "Parent" and one belonging to
// "Child")
foreach (Object obj in result)
Debug.Log(obj);
}
}