Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Classi globali in C#
Le classi globali (note anche come script denominati) sono tipi registrati nell'editor di Godot per poter essere utilizzati più comodamente. In GDScript, si creano inserendo la parola chiave class_name all'inizio di uno script. Questa pagina descrive come ottenere lo stesso effetto in C#.
Le classi globali sono visualizzate nelle finestre di dialogo Aggiungi nodo e Crea risorsa.
Se una proprietà esportata è una classe globale, l'ispettore limita l'assegnazione, consentendo solo istanze di quella classe globale o di qualsiasi classe derivata.
Le classi globali sono registrate con l'attributo [GlobalClass].
using Godot;
[GlobalClass]
public partial class MyNode : Node
{
}
Avvertimento
Il nome del file deve corrispondere al nome della classe, con distinzione tra maiuscole e minuscole. Ad esempio, una classe globale denominata "MyNode" deve avere il nome file MyNode.cs, non myNode.cs.
Il tipo MyNode sarà registrato come classe globale con lo stesso nome del tipo.
La finestra Seleziona un nodo per la proprietà esportata MyNode filtra l'elenco dei nodi nella scena in modo che corrispondano alla restrizione di assegnazione.
public partial class Main : Node
{
[Export]
public MyNode MyNode { get; set; }
}
Se un tipo personalizzato non è registrato come classe globale, l'assegnazione è limitata al tipo di Godot su cui si basa il tipo personalizzato. Ad esempio, le assegnazioni dell'ispettore a un'esportazione del tipo MySimpleSprite2D sono limitate a Sprite2D e ai tipi derivati.
public partial class MySimpleSprite2D : Sprite2D
{
}
Se combinato con l'attributo [GlobalClass], l'attributo [Icon] consente di fornire un percorso a un'icona da mostrare quando la classe è visualizzata nell'editor.
using Godot;
[GlobalClass, Icon("res://Stats/StatsIcon.svg")]
public partial class Stats : Resource
{
[Export]
public int Strength { get; set; }
[Export]
public int Defense { get; set; }
[Export]
public int Speed { get; set; }
}
La classe Stats è una risorsa personalizzata registrata come classe globale. Esportare proprietà del tipo Stats permetterà di assegnare solo istanze di questo tipo di risorsa, e l'ispettore permetterà di creare e caricare facilmente istanze di questo tipo.
Avvertimento
L'editor Godot nasconderà queste classi personalizzate i cui nomi iniziano con il prefisso "Editor" nelle finestre di dialogo "Crea un nuovo nodo" o "Crea una nuova scena". Le classi si possono istanziare tramite i rispettivi nomi in fase di esecuzione, ma sono automaticamente nascoste dalle finestre dell'editor insieme ai nodi integrati specifici dell'editor Godot.