Skip to content

Latest commit

 

History

History
36 lines (23 loc) · 2.74 KB

File metadata and controls

36 lines (23 loc) · 2.74 KB

Класс ComponentDrawer

Что это: Например, если вы помечаете поле атрибутом [GetComponent], именно ComponentDrawer выполнит GetComponent() и подставит найденный компонент в это поле прямо в редакторе, избавляя вас от необход...

Как использовать: см. разделы ниже.


1. Введение

ComponentDrawer — это статический класс-помощник, который является частью кастомного инспектора NeoCustomEditor. Его задача — реализовывать логику для атрибутов, которые автоматически находят и присваивают ссылки на компоненты.

Например, если вы помечаете поле атрибутом [GetComponent], именно ComponentDrawer выполнит GetComponent() и подставит найденный компонент в это поле прямо в редакторе, избавляя вас от необходимости делать это вручную.


2. Описание класса

ComponentDrawer

  • Пространство имен: Neo.Editor
  • Путь к файлу: Assets/Neoxider/Editor/PropertyAttribute/ComponentDrawer.cs

Описание Статический класс, реализующий логику для атрибутов автоматического поиска компонентов (таких как [GetComponent], [FindInScene] и их версий для поиска всех компонентов).

Ключевые особенности

  • Автоматическое присваивание: Находит и подставляет компоненты в поля, если они пусты (null).
  • Работа с коллекциями: Может заполнять не только одиночные поля, но и массивы или списки (List<>).
  • Разные источники поиска:
    • На том же GameObject ([GetComponent], [GetComponents])
    • Во всех дочерних объектах (SearchInChildren = true)
    • Во всей сцене ([FindInScene], [FindAllInScene])

Публичные методы

  • ProcessComponentAttributes(MonoBehaviour targetObject): Статический метод, который запускает процесс сканирования всех полей у targetObject на наличие атрибутов, связанных с поиском компонентов. Возвращает void.