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: Класс должен быть производным от Godot.GodotObject или производного класса
Идентификатор правила |
GD0401 |
Категория |
Использование |
Исправление может быть как ломающим, так и не ломающим |
Нарушение - при изменении цепочки наследования Неразрушающий — при удалении атрибута |
Включено по умолчанию |
Да |
Причина
Тип, аннотированный атрибутом [GlobalClass], не является производным от GodotObject.
Описание правила
[GlobalClass] не действует на типы, не производные от GodotObject. Каждый global class должен в конечном итоге быть производным от GodotObject, чтобы его можно было маршаллировать.
// 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 { }
Как устранить нарушения
Чтобы устранить нарушение этого правила, измените тип на производный от GodotObject или удалите атрибут [GlobalClass].
Когда следует подавлять предупреждения
Не подавляйте предупреждение из этого правила. Добавление [GlobalClass] к типу, который не является производным от GodotObject, — лёгкая ошибка, и это предупреждение помогает пользователям понять, что это может привести к непредвиденным ошибкам.