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。