ClassDB
Наследует: Object
Хранилище информации о классах.
Описание
Предоставляет доступ к метаданным, хранящимся для каждого доступного класса движка.
Примечание: Классы, определённые скриптом с class_name, не являются частью ClassDB, поэтому они не будут возвращать данные рефлексии, такие как список методов или свойств. Однако классы, определённые GDExtension, являются частью ClassDB, поэтому они будут возвращать данные рефлексии.
Методы
Перечисления
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 или нет.