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...
ClassDB¶
继承: Object
类信息的存储库。
描述¶
提供对为每个可用类存储的元数据的访问。
方法¶
方法说明¶
bool can_instantiate(class: StringName) const 🔗
如果可以从指定的 class
实例化对象,则返回 true
,否则返回 false
。
bool class_exists(class: StringName) const 🔗
返回指定的类 class
是否可用。
PackedStringArray class_get_enum_constants(class: StringName, enum: StringName, no_inheritance: bool = false) const 🔗
返回一个数组,其中包含 class
或其祖先的 enum
中的所有键。
PackedStringArray class_get_enum_list(class: StringName, no_inheritance: bool = false) const 🔗
返回一个数组,其中包含 class
或其祖先的所有枚举。
int class_get_integer_constant(class: StringName, name: StringName) const 🔗
返回 class
或其父级的整数常量值 name
。如果找不到该常量,则总是返回0。
StringName class_get_integer_constant_enum(class: StringName, name: StringName, no_inheritance: bool = false) const 🔗
返回 class
或其祖先的整数常量 name
所属的枚举。
PackedStringArray class_get_integer_constant_list(class: StringName, no_inheritance: bool = false) const 🔗
返回包含 class
或其父级全部整数常量的名称数组。
int class_get_method_argument_count(class: StringName, method: StringName, no_inheritance: bool = false) const 🔗
如果 no_inheritance
为 false
,则返回 class
或其祖先的方法 method
的参数数量。
Array[Dictionary] class_get_method_list(class: StringName, no_inheritance: bool = false) const 🔗
如果 no_inheritance
为 false
,则返回包含 class
或其祖先的所有方法的数组。数组的每个元素都是一个 Dictionary,包含以下键:args
、default_args
、flags
、id
、name
、return: (class_name, hint, hint_string, name, type, usage)
。
注意:在导出的发布版本中,调试信息不可用,因此返回的字典将仅包含方法名称。
Variant class_get_property(object: Object, property: StringName) const 🔗
返回 object
或其父级 property
的属性值。
Variant class_get_property_default_value(class: StringName, property: StringName) const 🔗
返回 class
或其祖先类的 property
的默认值。
Array[Dictionary] class_get_property_list(class: StringName, no_inheritance: bool = false) const 🔗
如果 no_inheritance
为 false
,则返回包含 class
或其祖先的所有属性的数组。
Dictionary class_get_signal(class: StringName, signal: StringName) const 🔗
返回 class
或其祖先的 signal
数据。返回值是具有以下键的 Dictionary:args
、default_args
、flags
、id
、name
、return: (class_name, hint, hint_string, name, type, usage)
。
Array[Dictionary] class_get_signal_list(class: StringName, no_inheritance: bool = false) const 🔗
如果 no_inheritance
为 false
,则返回包含 class
或其祖先的所有信号的数组。数组的每个元素都是一个如 class_get_signal 中所述的 Dictionary。
bool class_has_enum(class: StringName, name: StringName, no_inheritance: bool = false) const 🔗
返回类 class
或其祖类是否有名为 name
的枚举。
bool class_has_integer_constant(class: StringName, name: StringName) const 🔗
返回类 class
或其祖类是否有名为 name
的整数常量。
bool class_has_method(class: StringName, method: StringName, no_inheritance: bool = false) const 🔗
返回类 class
是否有名为 method
的方法(如果 no_inheritance
为 false
则还会检查其祖类)。
bool class_has_signal(class: StringName, signal: StringName) const 🔗
返回类 class
或其祖类是否有名为 signal
的信号。
Error class_set_property(object: Object, property: StringName, value: Variant) const 🔗
将对象 object
的 property
属性值设置为 value
。
PackedStringArray get_class_list() const 🔗
返回所有可用类的名称。
PackedStringArray get_inheriters_from_class(class: StringName) const 🔗
返回所有直接或间接继承自 class
的类的名称。
StringName get_parent_class(class: StringName) const 🔗
返回 class
的父类。
Variant instantiate(class: StringName) const 🔗
创建 class
的实例。
bool is_class_enabled(class: StringName) const 🔗
返回这个 class
是否已启用。
bool is_class_enum_bitfield(class: StringName, enum: StringName, no_inheritance: bool = false) const 🔗
返回类 class
是否有名为 enum
的位域枚举(如果 no_inheritance
为 false
则还会检查其祖类)。
bool is_parent_class(class: StringName, inherits: StringName) const 🔗
返回 inherits
是否为 class
的祖先。