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

TypeCache

класс в UnityEditor

Описание

Предоставляет методы для быстрого извлечения типов из сборок, загруженных в Домен Unity.

Используйте TypeCache для доступа к атрибутам и информации о производных типах. Этот кэш позволяет произвольному коду Редактора достигать более высокой производительности, по сравнению с использованием System.Reflection, благодаря использованию информации о типах, кэшируемых в собственном кэше.

Это распространенный случай использования для извлечения типов, помеченных определенным атрибутом, или для классов, которые расширяют или реализуют определенный тип, при построении или расширении Unity Editor. Итерация типов в текущем домене обычно является медленной операцией, которая линейным образом масштабируется в зависимости от количества типов.

Для ускорения извлечения типов Редактор создает таблицу ускорения на собственной стороне, которая содержит информацию об атрибутах типов и производных классах и интерфейсах.

using UnityEditor;
using System;
using System.Collections.Generic;
using System.Linq;

public class VolumeComponent {}

public class Example { static List<Type> s_VolumeComponents; static Example() { s_VolumeComponents = TypeCache.GetTypesDerivedFrom<VolumeComponent>().ToList(); } }

Статические методы

Метод Описание
GetFieldsWithAttributeПолучает неупорядоченный набор полей, помеченных атрибутом T.
GetMethodsWithAttributeПолучает неупорядоченную коллекцию методов, помеченных атрибутом T.
GetTypesDerivedFromПолучает неупорядоченную коллекцию типов, полученных из типа T.
GetTypesWithAttributeПолучает неупорядоченную коллекцию типов, помеченных атрибутом T.