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
的祖先。