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...
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 ( )
强制刷新属性显示。