Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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.