Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
EditorProperty¶
继承: Container < Control < CanvasItem < Node < Object
用于编辑属性的自定义控件,可以添加到 EditorInspector 中。
描述¶
用于编辑属性的自定义控件,可以添加到 EditorInspector 中。通过 EditorInspectorPlugin 添加。
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
方法¶
void |
_set_read_only ( bool read_only ) virtual |
void |
_update_property ( ) virtual |
void |
add_focusable ( Control control ) |
void |
emit_changed ( StringName property, Variant value, StringName field=&"", bool changing=false ) |
get_edited_property ( ) const |
|
void |
set_bottom_editor ( Control editor ) |
void |
update_property ( ) |
信号¶
multiple_properties_changed ( PackedStringArray properties, Array value )
如果想要同时修改多个属性,请发出它。如果属性是通过 EditorInspectorPlugin._parse_property 添加的,请勿使用。
object_id_selected ( StringName property, int id )
子检查器会使用。如果选择的是对象 ID,则触发。
property_can_revert_changed ( StringName property, bool can_revert )
当属性的可恢复性(即,它是否具有非默认值并因此显示为带有恢复图标)发生变化时发出。
property_changed ( StringName property, Variant value, StringName field, bool changing )
不要手动触发,使用 emit_changed 方法代替。
property_checked ( StringName property, bool checked )
勾选某个属性时发出。内部使用。
property_deleted ( StringName property )
删除某个属性时发出。内部使用。
property_keyed ( StringName property )
如果你想将此值添加这个值为动画键,请触发它(首先检查是否启用了键控)。
property_keyed_with_value ( StringName property, Variant value )
如果你想用一个单一的值来键入一个属性,请触发它。
property_pinned ( StringName property, bool pinned )
如果想要对某个属性进行标记(或者取消标记),让它无论是否与默认值相等都进行保存,请发出它。
默认值指节点刚刚实例化后属性的取值,可以来自继承/实例化链上的祖先场景、脚本或内置类。
resource_selected ( String path, Resource resource )
如果你想编辑一个子资源,请将此信号与资源一起发出。
selected ( String path, int focusable_idx )
选择时触发。内部使用。
属性说明¶
bool checkable = false
用于检查器,该属性可勾选时设置为 true
。
bool checked = false
用于检查器,该属性已勾选时设置为 true
。
bool deletable = false
用于检查器,该属性可以被用户删除时设置为 true
。
bool draw_warning = false
用于检查器,该属性用编辑器主题的警告色绘制时设置为 true
。用于可编辑子节点的属性。
bool keying = false
用于检查器,该属性可以被添加为动画关键帧时设置为 true
。
String label = ""
设置此属性可改变标签(如果你想显示标签)。
bool read_only = false
用于检查器,该属性为只读时设置为 true
。
方法说明¶
void _set_read_only ( bool read_only ) virtual
当属性的只读状态被改变时被调用。它可用于将自定义控件改变为只读或可修改的状态。
void _update_property ( ) virtual
当这个虚函数被调用时,你必须更新你的编辑器。
void add_focusable ( Control control )
如果添加的任何控件可以获得键盘焦点,将其添加到此处。这样可以确保在检查器被刷新时恢复焦点。
void emit_changed ( StringName property, Variant value, StringName field=&"", bool changing=false )
如果一个或几个属性发生了变化,必然会调用这个函数。field
用于你的编辑器可以单独修改字段的情况(例如,Vector3.x)。changing
参数可以避免编辑器请求刷新该属性(如果不确定,请保留为 false
)。
Object get_edited_object ( )
获取被编辑的对象。
StringName get_edited_property ( ) const
获取被编辑的属性。如果你的编辑器适用于单个属性(通过 EditorInspectorPlugin._parse_property 添加),则返回该属性。
void set_bottom_editor ( Control editor )
将 editor
控件放在属性标签的下方。该控件必须事先用 Node.add_child 添加。
void update_property ( )
强制刷新属性显示。