:github_url: hide .. _class_GDExtension: GDExtension =========== **Eredita:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Una libreria nativa per GDExtension. .. rst-class:: classref-introduction-group Descrizione ---------------------- Il tipo di risorsa **GDExtension** rappresenta una `libreria condivisa `__ che può espandere la funzionalità del motore. Il singleton :ref:`GDExtensionManager` è responsabile del caricamento, del ricaricamento e della rimozione delle risorse **GDExtension**. \ **Nota:** GDExtension in sé non è un linguaggio di scripting e non ha alcuna relazione con le risorse :ref:`GDScript`. .. rst-class:: classref-introduction-group Tutorial ---------------- - :doc:`Panoramica di GDExtension <../tutorials/scripting/gdextension/what_is_gdextension>` - :doc:`Esempio di GDExtension in C++ <../tutorials/scripting/cpp/gdextension_cpp_example>` .. rst-class:: classref-reftable-group Metodi ------------ .. table:: :widths: auto +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`InitializationLevel` | :ref:`get_minimum_library_initialization_level`\ (\ ) |const| | +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_library_open`\ (\ ) |const| | +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerazioni ------------------------ .. _enum_GDExtension_InitializationLevel: .. rst-class:: classref-enumeration enum **InitializationLevel**: :ref:`🔗` .. _class_GDExtension_constant_INITIALIZATION_LEVEL_CORE: .. rst-class:: classref-enumeration-constant :ref:`InitializationLevel` **INITIALIZATION_LEVEL_CORE** = ``0`` La libreria è inizializzata allo stesso tempo delle funzionalità essenziali del motore. .. _class_GDExtension_constant_INITIALIZATION_LEVEL_SERVERS: .. rst-class:: classref-enumeration-constant :ref:`InitializationLevel` **INITIALIZATION_LEVEL_SERVERS** = ``1`` La libreria è inizializzata allo stesso tempo dei server del motore (come il :ref:`RenderingServer` o il :ref:`PhysicsServer3D`). .. _class_GDExtension_constant_INITIALIZATION_LEVEL_SCENE: .. rst-class:: classref-enumeration-constant :ref:`InitializationLevel` **INITIALIZATION_LEVEL_SCENE** = ``2`` La libreria è inizializzata allo stesso tempo delle classi del motore che riguardano le scene. .. _class_GDExtension_constant_INITIALIZATION_LEVEL_EDITOR: .. rst-class:: classref-enumeration-constant :ref:`InitializationLevel` **INITIALIZATION_LEVEL_EDITOR** = ``3`` La libreria è inizializzata allo stesso tempo delle classi del motore esclusive all'editor. Avviene solo quando si carica GDExtension nell'editor. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descrizioni dei metodi -------------------------------------------- .. _class_GDExtension_method_get_minimum_library_initialization_level: .. rst-class:: classref-method :ref:`InitializationLevel` **get_minimum_library_initialization_level**\ (\ ) |const| :ref:`🔗` Restituisce il livello più basso richiesto affinché questa estensione sia inizializzata correttamente (vedi l'enumerazione :ref:`InitializationLevel`). .. rst-class:: classref-item-separator ---- .. _class_GDExtension_method_is_library_open: .. rst-class:: classref-method :ref:`bool` **is_library_open**\ (\ ) |const| :ref:`🔗` Restituisce ``true`` se la libreria di questa estensione è stata aperta. .. |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.)`