:github_url: hide .. _class_ClassDB: ClassDB ======= **Eredita:** :ref:`Object` Un archivio di informazioni sulle classi. .. rst-class:: classref-introduction-group Descrizione ---------------------- Fornisce l'accesso ai metadati memorizzati per ogni classe disponibile nel motore. \ **Nota:** Le classi definite tramite script con ``class_name`` non fanno parte di **ClassDB**, quindi non restituiranno dati di riflessione come liste di metodi o proprietà. Tuttavia, le classi definite tramite :ref:`GDExtension` *fanno* parte di **ClassDB**, quindi restituiranno dati di riflessione. .. rst-class:: classref-reftable-group Metodi ------------ .. 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 Enumerazioni ------------------------ .. _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 di classe core nativa. .. _class_ClassDB_constant_API_EDITOR: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_EDITOR** = ``1`` Tipo di classe dell'editor nativa. .. _class_ClassDB_constant_API_EXTENSION: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_EXTENSION** = ``2`` Tipo di classe GDExtension. .. _class_ClassDB_constant_API_EDITOR_EXTENSION: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_EDITOR_EXTENSION** = ``3`` Tipo di classe GDExtension dell'editor. .. _class_ClassDB_constant_API_NONE: .. rst-class:: classref-enumeration-constant :ref:`APIType` **API_NONE** = ``4`` Tipo di classe sconosciuto. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei metodi -------------------------------------------- .. _class_ClassDB_method_can_instantiate: .. rst-class:: classref-method :ref:`bool` **can_instantiate**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Restituisce ``true`` se gli oggetti possono essere istanziati dalla classe ``class``, altrimenti restituisce ``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:`🔗` Chiama un metodo statico su una classe. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_class_exists: .. rst-class:: classref-method :ref:`bool` **class_exists**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Restituisce se la classe ``class`` è disponibile o meno. .. 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:`🔗` Restituisce il tipo di API della classe ``class``. .. 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:`🔗` Restituisce un array con tutte le chiavi dell'enumerazione ``enum`` della classe ``class`` o i suoi antenati. .. 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:`🔗` Restituisce un array con tutte le enumerazioni della classe ``class`` o i suoi antenati. .. 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:`🔗` Restituisce il valore della costante intera nominata ``name`` della classe ``class`` o i suoi antenati. Restituisce sempre 0 quando non è stato possibile trovare la costante. .. 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:`🔗` Restituisce l'enumerazione a cui appartiene la costante intera nominata ``name`` della classe ``class`` o i suoi antenati. .. 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:`🔗` Restituisce un array con i nomi di tutte le costanti intere della classe ``class`` o dei suoi antenati. .. 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:`🔗` Restituisce il numero di argomenti del metodo ``method`` della classe ``class`` o i suoi antenati se ``no_inheritance`` è ``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:`🔗` Restituisce un array con tutti i metodi della classe ``class`` o i suoi antenati se ``no_inheritance`` è ``false``. Ogni elemento dell'array è un :ref:`Dictionary` con le seguenti chiavi: ``args``, ``default_args``, ``flags``, ``id`` , ``name``, ``return: (class_name, hint, hint_string, name, type, usage)``. \ **Nota:** Nelle build di rilascio esportate le informazioni di debug non sono disponibili, quindi i dizionari restituiti conterranno solo nomi dei metodi. .. 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:`🔗` Restituisce il valore della proprietà nominata ``property`` dell'oggetto ``object`` o della sua discendenza. .. 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:`🔗` Restituisce il valore predefinito della proprietà nominata ``property`` della classe ``class`` o le sue classi antenate. .. 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:`🔗` Restituisce il nome del metodo getter della proprietà nominata ``property`` della classe ``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:`🔗` Restituisce un array con tutte le proprietà della classe ``class`` o i suoi antenati se ``no_inheritance`` è ``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:`🔗` Restituisce il nome del metodo setter della proprietà nominata ``property`` della classe ``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:`🔗` Restituisce i dati del segnale nominato ``signal`` della classe ``class`` o i suoi antenati. Il valore restituito è un :ref:`Dictionary` con le seguenti chiavi: ``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:`🔗` Restituisce un array con tutti i segnali della classe ``class`` o dei suoi antenati se ``no_inheritance`` è ``false``. Ogni elemento dell'array è un :ref:`Dictionary` come descritto in :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:`🔗` Restituisce se la classe ``class`` o uno dei suoi antenati ha un'enumerazione chiamata ``name`` o meno. .. 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:`🔗` Restituisce se la classe ``class`` o uno dei suoi antenati ha una constante intera chiamata ``name`` o meno. .. 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:`🔗` Restituisce se la classe ``class`` (o uno dei suoi antenati se ``no_inheritance`` è ``false``)) ha un metodo chiamato ``method`` o meno. .. 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:`🔗` Restituisce se la classe ``class`` o uno dei suoi antenati ha un segnale chiamato ``signal`` o meno. .. 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:`🔗` Imposta il valore della proprietà nominata ``property`` dell'oggetto ``object`` a ``value``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_get_class_list: .. rst-class:: classref-method :ref:`PackedStringArray` **get_class_list**\ (\ ) |const| :ref:`🔗` Restituisce i nomi di tutte le classi disponibili nel motore. \ **Nota:** Le classi definite da script con ``class_name`` non sono incluse in questa lista. Usa invece :ref:`ProjectSettings.get_global_class_list()` per ottenere una lista di classi definite da script. .. 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:`🔗` Restituisce i nomi di tutte le classi nel motore che ereditano dalla classe ``class`` direttamente o indirettamente. .. 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:`🔗` Restituisce la classe madre della classe con nome ``class``. .. rst-class:: classref-item-separator ---- .. _class_ClassDB_method_instantiate: .. rst-class:: classref-method :ref:`Variant` **instantiate**\ (\ class\: :ref:`StringName`\ ) |const| :ref:`🔗` Crea un'istanza della classe nominata ``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:`🔗` Restituisce se la classe ``class`` è abilitata o meno. .. 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:`🔗` Restituisce se la classe ``class`` (o le sue classi antenate se ``no_inheritance`` è ``false``) ha un'enumerazione chiamata ``enum`` che è un bitfield. .. 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:`🔗` Restituisce se la classe nominata ``inherits`` è un antenato della classe ``class`` o meno. .. |virtual| replace:: :abbr:`virtual (Questo metodo dovrebbe solitamente essere sovrascritto dall'utente per aver un effetto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Questo metodo non ha effetti collaterali. Non modifica alcuna variabile appartenente all'istanza.)` .. |vararg| replace:: :abbr:`vararg (Questo metodo accetta qualsiasi numero di argomenti oltre a quelli descritti qui.)` .. |constructor| replace:: :abbr:`constructor (Questo metodo è utilizzato per creare un tipo.)` .. |static| replace:: :abbr:`static (Questo metodo non necessita di alcun'istanza per essere chiamato, quindi può essere chiamato direttamente usando il nome della classe.)` .. |operator| replace:: :abbr:`operator (Questo metodo descrive un operatore valido da usare con questo tipo come operando di sinistra.)` .. |bitfield| replace:: :abbr:`BitField (Questo valore è un intero composto da una maschera di bit dei seguenti flag.)` .. |void| replace:: :abbr:`void (Nessun valore restituito.)`