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

Object.FindFirstObjectByType

Declaration

public static T FindFirstObjectByType();
public static T FindFirstObjectByType(FindObjectsInactive findObjectsInactive);
public static Object FindFirstObjectByType(Type type);
public static Object FindFirstObjectByType(Type type, FindObjectsInactive findObjectsInactive);

Параметры

Параметр Описание
тип Тип объекта для поиска.
findObjectsInactive Включать ли компоненты, прикрепленные к неактивному объекту GameObjects. Если этот параметр не указан, функция не включает неактивные объекты в результаты.

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

T Возвращает первый активный загруженный объект, соответствующий указанному типу. Если ни один объект не соответствует указанному типу, возвращается null.

Описание

Получает первый активный загруженный объект типа type.

Object.FindFirstObjectByType не возвращает Ассеты (например, меши, текстуры или префабы), или неактивные объекты. Она также не возвращает объекты, HideFlags.DontSave комплект.

Примечание: Эта функция очень ресурсоемка. Лучше не использовать эту функцию в каждом кадре, а вместо этого, в большинстве случаев, использовать шаблон singleton. Альтернативно, если вам нужен только любой экземпляр соответствующего объекта, а не первый, вы можете использовать более быстрый шаблон singleton. Object.FindAnyObjectByType

См. также: Object.FindAnyObjectByType, Object.FindObjectsByType.

using UnityEngine;
using System.Collections;

// Search for the first active TextMesh and first active or inactive CanvasRenderer. // If found print the names, else print a message saying none were found. public class ExampleClass : MonoBehaviour { void Start() { TextMesh texture = (TextMesh)FindFirstObjectByType(typeof(TextMesh)); if (texture) Debug.Log("TextMesh object found: " + texture.name); else Debug.Log("No TextMesh object could be found"); // Include inactive objects in search for CanvasRenderer CanvasRenderer canvas = FindFirstObjectByType<CanvasRenderer>(FindObjectsInactive.Include); if (canvas) Debug.Log("CanvasRenderer object found: " + canvas.name); else Debug.Log("No CanvasRenderer object could be found"); } }