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.

ClassDB

继承: Object

类信息的存储库。

描述

提供对为每个可用类存储的元数据的访问。

方法

bool

can_instantiate(class: StringName) const

bool

class_exists(class: StringName) const

PackedStringArray

class_get_enum_constants(class: StringName, enum: StringName, no_inheritance: bool = false) const

PackedStringArray

class_get_enum_list(class: StringName, no_inheritance: bool = false) const

int

class_get_integer_constant(class: StringName, name: StringName) const

StringName

class_get_integer_constant_enum(class: StringName, name: StringName, no_inheritance: bool = false) const

PackedStringArray

class_get_integer_constant_list(class: StringName, no_inheritance: bool = false) const

int

class_get_method_argument_count(class: StringName, method: StringName, no_inheritance: bool = false) const

Array[Dictionary]

class_get_method_list(class: StringName, no_inheritance: bool = false) const

Variant

class_get_property(object: Object, property: StringName) const

Variant

class_get_property_default_value(class: StringName, property: StringName) const

Array[Dictionary]

class_get_property_list(class: StringName, no_inheritance: bool = false) const

Dictionary

class_get_signal(class: StringName, signal: StringName) const

Array[Dictionary]

class_get_signal_list(class: StringName, no_inheritance: bool = false) const

bool

class_has_enum(class: StringName, name: StringName, no_inheritance: bool = false) const

bool

class_has_integer_constant(class: StringName, name: StringName) const

bool

class_has_method(class: StringName, method: StringName, no_inheritance: bool = false) const

bool

class_has_signal(class: StringName, signal: StringName) const

Error

class_set_property(object: Object, property: StringName, value: Variant) const

PackedStringArray

get_class_list() const

PackedStringArray

get_inheriters_from_class(class: StringName) const

StringName

get_parent_class(class: StringName) const

Variant

instantiate(class: StringName) const

bool

is_class_enabled(class: StringName) const

bool

is_class_enum_bitfield(class: StringName, enum: StringName, no_inheritance: bool = false) const

bool

is_parent_class(class: StringName, inherits: StringName) const


方法说明

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_inheritancefalse,则返回 class 或其祖先的方法 method 的参数数量。


Array[Dictionary] class_get_method_list(class: StringName, no_inheritance: bool = false) const 🔗

如果 no_inheritancefalse,则返回包含 class 或其祖先的所有方法的数组。数组的每个元素都是一个 Dictionary,包含以下键:argsdefault_argsflagsidnamereturn: (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_inheritancefalse,则返回包含 class 或其祖先的所有属性的数组。


Dictionary class_get_signal(class: StringName, signal: StringName) const 🔗

返回 class 或其祖先的 signal 数据。返回值是具有以下键的 Dictionaryargsdefault_argsflagsidnamereturn: (class_name, hint, hint_string, name, type, usage)


Array[Dictionary] class_get_signal_list(class: StringName, no_inheritance: bool = false) const 🔗

如果 no_inheritancefalse,则返回包含 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_inheritancefalse 则还会检查其祖类)。


bool class_has_signal(class: StringName, signal: StringName) const 🔗

返回类 class 或其祖类是否有名为 signal 的信号。


Error class_set_property(object: Object, property: StringName, value: Variant) const 🔗

将对象 objectproperty 属性值设置为 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_inheritancefalse 则还会检查其祖类)。


bool is_parent_class(class: StringName, inherits: StringName) const 🔗

返回 inherits 是否为 class 的祖先。