:github_url: hide .. _class_ClassDB: ClassDB ======= **Hereda:** :ref:`Object` Un repositorio de información de clases. .. rst-class:: classref-introduction-group Descripción ---------------------- Provides access to metadata stored for every available engine class. \ **Note:** Script-defined classes with ``class_name`` are not part of **ClassDB**, so they will not return reflection data such as a method or property list. However, :ref:`GDExtension`-defined classes *are* part of **ClassDB**, so they will return reflection data. .. rst-class:: classref-reftable-group Métodos -------------- .. table:: :widths: auto +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_instantiate`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`class_call_static`\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_exists`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`APIType` | :ref:`class_get_api_type`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`class_get_enum_constants`\ (\ class\: :ref:`StringName`, enum\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`class_get_enum_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`class_get_integer_constant`\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`class_get_integer_constant_enum`\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`class_get_integer_constant_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`class_get_method_argument_count`\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`class_get_method_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`class_get_property`\ (\ object\: :ref:`Object`, property\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`class_get_property_default_value`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`class_get_property_getter`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`class_get_property_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`class_get_property_setter`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`class_get_signal`\ (\ class\: :ref:`StringName`, signal\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`class_get_signal_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_has_enum`\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_has_integer_constant`\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_has_method`\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_has_signal`\ (\ class\: :ref:`StringName`, signal\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`class_set_property`\ (\ object\: :ref:`Object`, property\: :ref:`StringName`, value\: :ref:`Variant`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_class_list`\ (\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_inheriters_from_class`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_parent_class`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`instantiate`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_class_enabled`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_class_enum_bitfield`\ (\ class\: :ref:`StringName`, enum\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_parent_class`\ (\ class\: :ref:`StringName`, inherits\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumeraciones -------------------------- .. _enum_ClassDB_APIType: .. rst-class:: classref-enumeration enum **APIType**: :ref:`🔗` .. _class_ClassDB_constant_API_CORE: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_CORE** = ``0`` Tipo de clase nativa del núcleo. .. _class_ClassDB_constant_API_EDITOR: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_EDITOR** = ``1`` Tipo de clase nativa del editor. .. _class_ClassDB_constant_API_EXTENSION: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_EXTENSION** = ``2`` Tipo de clase de GDExtension. .. _class_ClassDB_constant_API_EDITOR_EXTENSION: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_EDITOR_EXTENSION** = ``3`` Tipo de clase de editor de GDExtension. .. _class_ClassDB_constant_API_NONE: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_NONE** = ``4`` Tipo de clase desconocido. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descripciones de Métodos ------------------------------------------------ .. _class_ClassDB_method_can_instantiate: .. rst-class:: classref-method :ref:`bool` **can_instantiate**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve ``true`` si se pueden instanciar objetos desde la ``class`` especificada, de lo contrario devuelve ``false``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_call_static: .. rst-class:: classref-method :ref:`Variant` **class_call_static**\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| :ref:`🔗` Llama a un método estático en una clase. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_exists: .. rst-class:: classref-method :ref:`bool` **class_exists**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve si la ``class`` especificada está disponible o no. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_api_type: .. rst-class:: classref-method :ref:`APIType` **class_get_api_type**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve el tipo de API de la ``class`` especificada. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_enum_constants: .. rst-class:: classref-method :ref:`PackedStringArray` **class_get_enum_constants**\ (\ class\: :ref:`StringName`, enum\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve un array con todas las claves en el ``enum`` de ``class`` o su ascendencia. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_enum_list: .. rst-class:: classref-method :ref:`PackedStringArray` **class_get_enum_list**\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve un array con todos los enums de ``class`` o su ascendencia. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_integer_constant: .. rst-class:: classref-method :ref:`int` **class_get_integer_constant**\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve el valor de la constante entera ``name`` de ``class`` o su ascendencia. Siempre devuelve 0 si no se pudo encontrar la constante. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_integer_constant_enum: .. rst-class:: classref-method :ref:`StringName` **class_get_integer_constant_enum**\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve a qué enum pertenece la constante de tipo integer ``name`` de ``class`` o su ascendencia. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_integer_constant_list: .. rst-class:: classref-method :ref:`PackedStringArray` **class_get_integer_constant_list**\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve un array con los nombres de todas las constantes de tipo integer de ``class`` o su ascendencia. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_method_argument_count: .. rst-class:: classref-method :ref:`int` **class_get_method_argument_count**\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve el número de argumentos del método ``method`` de ``class`` o su ascendencia si ``no_inheritance`` es ``false``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_method_list: .. rst-class:: classref-method :ref:`Array`\[:ref:`Dictionary`\] **class_get_method_list**\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve un array con todos los métodos de ``class`` o su ascendencia si ``no_inheritance`` es ``false``. Cada elemento del array es un :ref:`Dictionary` con las siguientes claves: ``args``, ``default_args``, ``flags``, ``id``, ``name``, ``return: (class_name, hint, hint_string, name, type, usage)``. \ **Nota:** En las compilaciones de lanzamiento exportadas, la información de depuración no está disponible, por lo que los diccionarios devueltos solo contendrán los nombres de métodos. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_property: .. rst-class:: classref-method :ref:`Variant` **class_get_property**\ (\ object\: :ref:`Object`, property\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve el valor de ``property`` de ``object`` o su ascendencia. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_property_default_value: .. rst-class:: classref-method :ref:`Variant` **class_get_property_default_value**\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve el valor por defecto de ``property`` de ``class`` o sus clases ascendentes. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_property_getter: .. rst-class:: classref-method :ref:`StringName` **class_get_property_getter**\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) :ref:`🔗` Devuelve el nombre del método getter de ``property`` de ``class``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_property_list: .. rst-class:: classref-method :ref:`Array`\[:ref:`Dictionary`\] **class_get_property_list**\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve un array con todas las propiedades de ``class`` o su ascendencia si ``no_inheritance`` es ``false``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_property_setter: .. rst-class:: classref-method :ref:`StringName` **class_get_property_setter**\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) :ref:`🔗` Devuelve el nombre del método setter de ``property`` de ``class``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_signal: .. rst-class:: classref-method :ref:`Dictionary` **class_get_signal**\ (\ class\: :ref:`StringName`, signal\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve los datos de la señal ``signal`` de ``class`` o su ascendencia. El valor devuelto es un :ref:`Dictionary` con las siguientes claves: ``args``, ``default_args``, ``flags``, ``id``, ``name``, ``return: (class_name, hint, hint_string, name, type, usage)``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_get_signal_list: .. rst-class:: classref-method :ref:`Array`\[:ref:`Dictionary`\] **class_get_signal_list**\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve un array con todas las señales de ``class`` o su ascendencia si ``no_inheritance`` es ``false``. Cada elemento del array es un :ref:`Dictionary` como se describe en :ref:`class_get_signal()`. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_has_enum: .. rst-class:: classref-method :ref:`bool` **class_has_enum**\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve si ``class`` o su ascendencia tiene un enum llamado ``name`` o no. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_has_integer_constant: .. rst-class:: classref-method :ref:`bool` **class_has_integer_constant**\ (\ class\: :ref:`StringName`, name\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve si ``class`` o su ascendencia tiene una constante de tipo integer llamada ``name`` o no. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_has_method: .. rst-class:: classref-method :ref:`bool` **class_has_method**\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve si ``class`` (o su ascendencia si ``no_inheritance`` es ``false``) tiene un método llamado ``method`` o no. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_has_signal: .. rst-class:: classref-method :ref:`bool` **class_has_signal**\ (\ class\: :ref:`StringName`, signal\: :ref:`StringName`\ ) |const| :ref:`🔗` Returns whether ``class`` or its ancestry has a signal called ``signal`` or not. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_set_property: .. rst-class:: classref-method :ref:`Error` **class_set_property**\ (\ object\: :ref:`Object`, property\: :ref:`StringName`, value\: :ref:`Variant`\ ) |const| :ref:`🔗` Sets ``property`` value of ``object`` to ``value``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_get_class_list: .. rst-class:: classref-method :ref:`PackedStringArray` **get_class_list**\ (\ ) |const| :ref:`🔗` Returns the names of all engine classes available. \ **Note:** Script-defined classes with ``class_name`` are not included in this list. Use :ref:`ProjectSettings.get_global_class_list()` to get a list of script-defined classes instead. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_get_inheriters_from_class: .. rst-class:: classref-method :ref:`PackedStringArray` **get_inheriters_from_class**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Returns the names of all engine classes that directly or indirectly inherit from ``class``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_get_parent_class: .. rst-class:: classref-method :ref:`StringName` **get_parent_class**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve la clase padre de ``class``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_instantiate: .. rst-class:: classref-method :ref:`Variant` **instantiate**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Crea una instancia de ``class``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_is_class_enabled: .. rst-class:: classref-method :ref:`bool` **is_class_enabled**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve si esta ``class`` está habilitada o no. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_is_class_enum_bitfield: .. rst-class:: classref-method :ref:`bool` **is_class_enum_bitfield**\ (\ class\: :ref:`StringName`, enum\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| :ref:`🔗` Devuelve si ``class`` (o sus clases ancestras si ``no_inheritance`` es ``false``) tiene un enum llamado ``enum`` que es un campo de bits. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_is_parent_class: .. rst-class:: classref-method :ref:`bool` **is_parent_class**\ (\ class\: :ref:`StringName`, inherits\: :ref:`StringName`\ ) |const| :ref:`🔗` Returns whether ``inherits`` is an ancestor of ``class`` or not. .. |virtual| replace:: :abbr:`virtual (Normalmente, este método debería ser sobreescrito por el usuario para que tenga algún efecto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Este método no tiene efectos secundarios. No modifica ninguna de las variables miembro de la instancia.)` .. |vararg| replace:: :abbr:`vararg (Este método permite agregar cualquier número de argumentos después de los descritos aquí.)` .. |constructor| replace:: :abbr:`constructor (Este método se utiliza para construir un tipo.)` .. |static| replace:: :abbr:`static (Este método no necesita una instancia para ser llamado, por lo que puede llamarse directamente utilizando el nombre de la clase.)` .. |operator| replace:: :abbr:`operator (Este método describe un operador válido para usar con este tipo como operando izquierdo.)` .. |bitfield| replace:: :abbr:`BitField (Este valor es un entero compuesto como una máscara de bits de las siguientes banderas.)` .. |void| replace:: :abbr:`void (Sin valor de retorno.)`