EditorInspectorPlugin

继承: RefCounted < Object

用于在检查器上添加自定义属性编辑器的插件。

描述

EditorInspectorPlugin允许向EditorInspector添加自定义属性编辑器。

编辑对象时,调用_can_handle()函数,如果支持对象类型,则必须返回true

如果支持,将调用函数_parse_begin(),允许在类的开头放置自定义控件。

随后,为每个类别和属性调用_parse_category()_parse_property()。它们也提供了向检查器添加自定义控件的能力。

最后,将调用_parse_end()

在每个调用中,都可以调用“add”函数。

要使用EditorInspectorPlugin,首先使用EditorPlugin.add_inspector_plugin()方法注册它。

方法

bool

_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

bool

_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_endtrue,这个新添加的编辑器将显示在add_to_endfalse的属性的所有其他编辑器之后。

label可用于在检查器中为属性编辑器选择自定义标签。如果留空,则根据属性名称计算标签。


void add_property_editor_for_multiple_properties(label: String, properties: PackedStringArray, editor: Control) 🔗

添加允许修改多个属性的编辑器。editor控件必须扩展EditorProperty