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...
Classes globais do C#
Classes globais (também conhecidas como scripts nomeados) são tipos registrados no editor do Godot para que possam ser usados de forma mais conveniente. No GDScript, isso é feito usando a palavra-chave class_name no topo de um script. Esta página descreve como obter o mesmo efeito em C#.
As classes globais aparecem nas caixas de diálogo Add Node (Adicionar Nó) e Create Resource (Criar Recurso).
Se uma propriedade exportada for uma classe global, o inspetor restringirá a atribuição, permitindo apenas instâncias dessa classe global ou de quaisquer classes derivadas.
Classes globais são registradas com o atributo [GlobalClass].
using Godot;
[GlobalClass]
public partial class MyNode : Node
{
}
Aviso
O nome do arquivo deve corresponder exatamente ao nome da classe, sendo sensível a maiúsculas e minúsculas (case-sensitive). Por exemplo, uma classe global chamada "MyNode" deve ter o nome de arquivo MyNode.cs, e não myNode.cs.
O tipo MyNode será registrado como uma classe global com o mesmo nome do tipo.
A janela Select a Node (Selecionar um Nó) para a propriedade exportada MyNode filtra la lista de nós na cena para corresponder à restrição de atribuição.
public partial class Main : Node
{
[Export]
public MyNode MyNode { get; set; }
}
Se um tipo personalizado não for registrado como uma classe global, a atribuição será restrita ao tipo do Godot no qual o tipo personalizado se baseia. Por exemplo, as atribuições no inspetor para uma exportação do tipo MySimpleSprite2D ficam restritas a Sprite2D e tipos derivados.
public partial class MySimpleSprite2D : Sprite2D
{
}
Quando combinado com o atributo [GlobalClass], o atributo [Icon] permite fornecer o caminho para um ícone que será exibido quando a classe for mostrada no 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; }
}
A classe Stats é um recurso personalizado registrado como uma classe global. Exportar propriedades do tipo Stats só permitirá que instâncias desse tipo de recurso sejam atribuídas, e o inspetor permitirá que você crie e carregue instâncias desse tipo facilmente.
Aviso
O editor do Godot ocultará essas classes personalizadas cujos nomes comecem com o prefixo "Editor" nas janelas de diálogo "Create New Node" (Criar Novo Nó) ou "Create New Scene" (Criar Nova Cena). As classes ficam disponíveis para instanciação em tempo de execução por meio de seus nomes de classe, mas são ocultadas automaticamente pelas janelas do editor, junto com os nós de editor nativos usados pelo editor do Godot.