EditorInspectorPlugin
Наследует: RefCounted < Object
Плагин для добавления пользовательских редакторов свойств в инспектор.
Описание
EditorInspectorPlugin позволяет добавлять пользовательские редакторы свойств в EditorInspector.
При редактировании объекта вызывается функция _can_handle(), которая должна возвращать true, если тип объекта поддерживается.
Если поддерживается, будет вызвана функция _parse_begin(), позволяющая размещать пользовательские элементы управления в начале класса.
Затем для каждой категории и свойства вызываются _parse_category() и _parse_property(). Они также предоставляют возможность добавлять пользовательские элементы управления в инспектор.
Наконец, будет вызван _parse_end().
При каждом из этих вызовов можно вызывать функции «add».
Чтобы использовать EditorInspectorPlugin, сначала зарегистрируйте его с помощью метода EditorPlugin.add_inspector_plugin().
Обучающие материалы
Методы
_can_handle(object: Object) virtual const |
|
void |
_parse_begin(object: Object) virtual |
void |
_parse_category(object: Object, category: String) virtual |
void |
_parse_end(object: Object) virtual |
void |
_parse_group(object: Object, group: String) virtual |
_parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: BitField[PropertyUsageFlags], wide: bool) virtual |
|
void |
add_custom_control(control: Control) |
void |
add_property_editor(property: String, editor: Control, add_to_end: bool = false, label: String = "") |
void |
add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control) |
Описания метода
bool _can_handle(object: Object) virtual const 🔗
Возвращает true, если этот объект может быть обработан этим плагином.
void _parse_begin(object: Object) virtual 🔗
Вызывается, чтобы разрешить добавление элементов управления в начало списка свойств для object.
void _parse_category(object: Object, category: String) virtual 🔗
Вызывается, чтобы разрешить добавление элементов управления в начало категории в списке свойств для object.
void _parse_end(object: Object) virtual 🔗
Вызывается, чтобы разрешить добавление элементов управления в конец списка свойств для object.
void _parse_group(object: Object, group: String) virtual 🔗
Вызывается, чтобы разрешить добавление элементов управления в начало группы или подгруппы в списке свойств для object.
bool _parse_property(object: Object, type: Variant.Type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: BitField[PropertyUsageFlags], wide: bool) virtual 🔗
Вызывается, чтобы разрешить добавление редакторов, специфичных для свойств, в список свойств для object. Добавленный элемент управления редактором должен расширять EditorProperty. Возврат true удаляет встроенный редактор для этого свойства, в противном случае позволяет вставить пользовательский редактор перед встроенным.
void add_custom_control(control: Control) 🔗
Добавляет пользовательский элемент управления, который не обязательно является редактором свойств.
void add_property_editor(property: String, editor: Control, add_to_end: bool = false, label: String = "") 🔗
Добавляет редактор свойств для отдельного свойства. Элемент управления editor должен расширять EditorProperty.
Для свойства может быть несколько редакторов свойств. Если add_to_end равен true, этот недавно добавленный редактор будет отображаться после всех других редакторов свойства, у которых add_to_end равен false. Например, редактор использует этот параметр для добавления кнопки «Редактировать область» для Sprite2D.region_rect под обычным редактором Rect2.
label можно использовать для выбора пользовательской метки для редактора свойств в инспекторе. Если оставить пустым, метка вычисляется на основе имени свойства.
void add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control) 🔗
Добавляет редактор, позволяющий изменять несколько свойств. Элемент управления editor должен расширять EditorProperty.