Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

Component.GetComponents

Declaration

public T[] GetComponents();

Возвращаемое значение

T[] Массив, содержащий все соответствующие компоненты типа T.

Описание

Получает ссылки на все компоненты типа T на том же GameObject, что и указанный компонент.

Типичным использованием этого метода является вызов его из скрипта MonoBehaviour (который сам по себе является типом компонента), чтобы найти ссылки на другие Компоненты или MonoBehaviours, присоединенные к тому же GameObject, что и этот скрипт. В этом случае вы можете вызвать метод без указания предшествующего объекта. Например:

myResults = GetComponents<ComponentType>()

Вы также можете вызвать этот метод по ссылке на другой компонент, который может быть прикреплен к другому GameObject. В этом случае, GameObject, к которому прикреплен этот компонент, будет поискан. Например:

myResults = otherComponent.GetComponents<ComponentType>()

Чтобы найти компоненты, прикрепленные к конкретному GameObject, вам нужно ссылка на это другое GameObject (или любой компонент, прикрепленный к этому GameObject). Затем вы можете вызвать GetComponents на эту ссылку.

См. Component и GameObject справочные страницы класса, описывающие другие варианты GetComponent семейство методов.

Следующий пример получает ссылку на все компоненты шарнирного соединения на указанном GameObject и устанавливает свойство для каждого найденного компонента шарнирного соединения.

using UnityEngine;

public class Example : MonoBehaviour { void Start() { HingeJoint[] hinges = GetComponents<HingeJoint>(); for (int i = 0; i < hinges.Length; i++) { hinges[i].useSpring = false; } } }

Обратите внимание: Если запрашиваемый тип является производным от MonoBehaviour и связанный с ним скрипт не может быть загружен, то эта функция возвратит `null` для этого компонента.

Declaration

public void GetComponents(List<T> results);

Параметры

Параметр Описание
результаты Список, используемый для возвращаемых результатов.

Описание

Вариант метода GetComponents, который позволяет вам предоставить свой собственный Список, который будет заполнен результатами.

Это позволяет избежать выделения новых объектов List для каждого вызова метода. Размер списка, который вы предоставляете, изменяется в соответствии с количеством найденных результатов, и любые существующие значения в списке перезаписываются.

Declaration

public Component[] GetComponents(Type type);

Параметры

Параметр Описание
тип Тип компонента для поиска.

Возвращаемое значение

Component[] Массив, содержащий все соответствующие компоненты типа type.

Описание

Нетиповая версия этого метода.

Эта версия GetComponents не столь эффективна, как версия Generic (выше), так что вы должны использовать ее только в случае необходимости.

Declaration

public void GetComponents(Type type, List<Component> results);

Параметры

Параметр Описание
тип Тип компонента для поиска.
результаты Список, используемый для возвращаемых результатов.

Описание

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

Эта версия GetComponents не столь эффективна, как версия Generic (выше), так что вы должны использовать ее только в случае необходимости.