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...
GD0401: A classe deve derivar de Godot.GodotObject ou de uma classe derivada
ID da Regra |
GD0401 |
Categoria |
Uso |
A correção altera a compatibilidade (breaking) ou não altera (non-breaking) |
Altera a compatibilidade (breaking) - Se a cadeia de herança for alterada Não altera a compatibilidade (non-breaking) - Se o atributo |
Ativado por padrão |
Sim |
Causa
Um tipo anotado com o atributo [GlobalClass] não deriva de GodotObject.
Descrição da regra
O [GlobalClass] não tem efeito para tipos que não derivam de GodotObject. Toda classe global deve, em última análise, derivar de GodotObject para que possa passar por marshalling.
// This type is not registered as a global class because it doesn't derive from GodotObject.
[GlobalClass]
class SomeType { }
// This type is a global class because it derives from Godot.Node
// which ultimately derives from GodotObject.
[GlobalClass]
class MyNode : Node { }
// This type is a global class because it derives from Godot.Resource
// which ultimately derives from GodotObject.
[GlobalClass]
class MyResource : Resource { }
Como corrigir violações
Para corrigir uma violação desta regra, altere o tipo para derivar de GodotObject ou remova o atributo [GlobalClass].
Quando suprimir avisos
Não suprima um aviso desta regra. Adicionar o [GlobalClass] a um tipo que não deriva de GodotObject é um erro fácil de cometer e este aviso ajuda os usuários a perceberem que isso pode resultar em erros inesperados.