ClassDB

Наследует: Object

Хранилище информации о классах.

Описание

Предоставляет доступ к метаданным, хранящимся для каждого доступного класса движка.

Примечание: Классы, определённые скриптом с class_name, не являются частью ClassDB, поэтому они не будут возвращать данные рефлексии, такие как список методов или свойств. Однако классы, определённые GDExtension, являются частью ClassDB, поэтому они будут возвращать данные рефлексии.

Методы

bool

can_instantiate(class: StringName) const

Variant

class_call_static(class: StringName, method: StringName, ...) vararg

bool

class_exists(class: StringName) const

APIType

class_get_api_type(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

StringName

class_get_property_getter(class: StringName, property: StringName)

Array[Dictionary]

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

StringName

class_get_property_setter(class: StringName, property: StringName)

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


Перечисления

enum APIType: 🔗

APIType API_CORE = 0

Тип класса Native Core.

APIType API_EDITOR = 1

Тип класса Собственного Редактора.

APIType API_EXTENSION = 2

Тип класса GDExtension.

APIType API_EDITOR_EXTENSION = 3

Тип класса редактора GDExtension.

APIType API_NONE = 4

Неизвестный тип класса.


Описания метода

bool can_instantiate(class: StringName) const 🔗

Возвращает true, если объекты могут быть созданы из указанного class, в противном случае возвращает false.


Variant class_call_static(class: StringName, method: StringName, ...) vararg 🔗

Вызывает статический метод класса.


bool class_exists(class: StringName) const 🔗

Возвращает, доступен ли указанный class или нет.


APIType class_get_api_type(class: StringName) const 🔗

Возвращает тип API указанного class.


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

Возвращает массив со всеми ключами в enum class или его предке.


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

Возвращает массив со всеми перечислениями class или его предков.


int class_get_integer_constant(class: StringName, name: StringName) const 🔗

Возвращает значение целочисленной константы name class или ее предка. Всегда возвращает 0, если константа не может быть найдена.


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

Возвращает значения, перечисляющие целочисленную константу name из class или ее предка.


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 🔗

Возвращает количество аргументов метода method из class или его предка, если no_inheritance равно false.


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

Возвращает массив со всеми методами class или его предка, если no_inheritance равен false. Каждый элемент массива — это 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 🔗

Возвращает значение property от object или его предка.


Variant class_get_property_default_value(class: StringName, property: StringName) const 🔗

Возвращает значение по умолчанию property из class или его родительских классов.


StringName class_get_property_getter(class: StringName, property: StringName) 🔗

Возвращает имя метода получения property из class.


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

Возвращает массив со всеми свойствами class или его предка, если no_inheritance равен false.


StringName class_get_property_setter(class: StringName, property: StringName) 🔗

Возвращает имя метода установки property из class.


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

Возвращает данные signal class или его предка. Возвращаемое значение — 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 🔗

Возвращает массив со всеми сигналами class или его предка, если no_inheritance равен false. Каждый элемент массива является Dictionary, как описано в class_get_signal().


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 (или его предок, если no_inheritance равен false) метод с именем method или нет.


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

Возвращает, имеет ли class или его предок сигнал с именем signal или нет.


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

Устанавливает значение property для object равным value.


PackedStringArray get_class_list() const 🔗

Возвращает имена всех доступных классов движка.

Примечание: Классы, определённые скриптом с class_name, не включены в этот список. Вместо этого используйте ProjectSettings.get_global_class_list(), чтобы получить список классов, определённых скриптом.


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 (или его предковые классы, если no_inheritance равен false) перечисление с именем enum, которое является битовым полем.


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

Возвращает, является ли inherits предком class или нет.