Объявление
public Component[] GetComponentsInChildren(Type type, bool includeInactive = false);Параметры
type | Тип компонента для получения. |
includeInactive | Должны ли Компоненты на неактивных GameObjects быть включены в найденный набор? |
Описание
Возвращает все компоненты типа type
в GameObject или любом из его дочерних элементов, используя поиск в глубину. Работает рекурсивно.
Unity рекурсивно ищет компоненты в дочерних игровых объектах. Это означает, что он также включает все дочерние игровые объекты целевого игрового объекта и все последующие дочерние игровые объекты.
Примечание. Если запрашиваемый тип является производным от MonoBehaviour и связанный скрипт не может быть загружен, эта функция вернет `null` для этого компонента.
using UnityEngine;
public class GetComponentsInChildrenExample : MonoBehaviour
{
void Start()
{
Component[] hingeJoints;
hingeJoints = GetComponentsInChildren(typeof(HingeJoint));
if (hingeJoints != null)
{
foreach (HingeJoint joint in hingeJoints)
joint.useSpring = false;
}
else
{
// Try again, looking for inactive GameObjects
Component[] hingesInactive = GetComponentsInChildren(typeof(HingeJoint), true);
foreach (HingeJoint joint in hingesInactive)
joint.useSpring = false;
}
}
}
Объявление
public T[] GetComponentsInChildren();public T[] GetComponentsInChildren(bool includeInactive);
Параметры
includeInactive | Следует ли включать неактивные игровые объекты в найденный набор? |
Возвращает
T[] Список всех найденных компонентов, соответствующих указанному типу.
Описание
Общая версия этого метода.
Примечание. Если запрашиваемый тип является производным от MonoBehaviour и связанный скрипт не может быть загружен, тогда эта функция вернет `null` для этого компонента.
using UnityEngine;
public class GetComponentsInChildrenExample : MonoBehaviour
{
void Start()
{
HingeJoint[] hingeJoints;
hingeJoints = GetComponentsInChildren<HingeJoint>();
if (hingeJoints != null)
{
foreach (HingeJoint joint in hingeJoints)
joint.useSpring = false;
}
else
{
// Try again, looking for inactive GameObjects
HingeJoint[] hingesInactive = GetComponentsInChildren<HingeJoint>(true);
foreach (HingeJoint joint in hingesInactive)
joint.useSpring = false;
}
}
}
Объявление
public void GetComponentsInChildren(Listpublic void GetComponentsInChildren(bool includeInactive, List
Параметры
results | Список для получения найденных Компонентов. |
includeInactive | Следует ли включать неактивные игровые объекты в найденный набор? |
Описание
Вернуть все найденные компоненты в список results
.
Примечание. Если запрашиваемый тип является производным от MonoBehaviour и связанный скрипт не может быть загружен, тогда эта функция вернет `null` для этого компонента.
using UnityEngine;
using System.Collections.Generic;
public class GetComponentsInChildrenExample : MonoBehaviour
{
void Start()
{
List<HingeJoint> hingeJoints = new List<HingeJoint>();
GetComponentsInChildren<HingeJoint>(false, hingeJoints);
if (hingeJoints != null)
{
foreach (HingeJoint joint in hingeJoints)
joint.useSpring = false;
}
else
{
// Try again, looking for inactive GameObjects
List<HingeJoint> hingesInactive = new List<HingeJoint>();
GetComponentsInChildren<HingeJoint>(true, hingesInactive);
foreach (HingeJoint joint in hingesInactive)
joint.useSpring = false;
}
}
}