Что это: Например, если вы помечаете поле атрибутом [GetComponent], именно ComponentDrawer выполнит GetComponent() и подставит найденный компонент в это поле прямо в редакторе, избавляя вас от необход...
Как использовать: см. разделы ниже.
ComponentDrawer — это статический класс-помощник, который является частью кастомного инспектора NeoCustomEditor. Его задача — реализовывать логику для атрибутов, которые автоматически находят и присваивают ссылки на компоненты.
Например, если вы помечаете поле атрибутом [GetComponent], именно ComponentDrawer выполнит GetComponent() и подставит найденный компонент в это поле прямо в редакторе, избавляя вас от необходимости делать это вручную.
- Пространство имен:
Neo.Editor - Путь к файлу:
Assets/Neoxider/Editor/PropertyAttribute/ComponentDrawer.cs
Описание
Статический класс, реализующий логику для атрибутов автоматического поиска компонентов (таких как [GetComponent], [FindInScene] и их версий для поиска всех компонентов).
Ключевые особенности
- Автоматическое присваивание: Находит и подставляет компоненты в поля, если они пусты (null).
- Работа с коллекциями: Может заполнять не только одиночные поля, но и массивы или списки (
List<>). - Разные источники поиска:
- На том же
GameObject([GetComponent],[GetComponents]) - Во всех дочерних объектах (
SearchInChildren = true) - Во всей сцене (
[FindInScene],[FindAllInScene])
- На том же
Публичные методы
ProcessComponentAttributes(MonoBehaviour targetObject): Статический метод, который запускает процесс сканирования всех полей уtargetObjectна наличие атрибутов, связанных с поиском компонентов. Возвращаетvoid.