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.

Глобальні класи C#

Глобальні класи (також відомі як іменовані сценарії) — це типи, зареєстровані в редакторі Godot, щоб ними було зручніше користуватися. In GDScript це досягається за допомогою ключового слова class_name у верхній частині сценарію. На цій сторінці описано, як досягти такого ж ефекту в C#.

  • Глобальні класи відображаються в діалогових вікнах Додати вузол та Створити ресурс.

  • Якщо exported property є глобальним класом, інспектор обмежує призначення, дозволяючи лише екземпляри цього глобального класу або будь-яких похідних класів.

Глобальні класи реєструються за допомогою атрибута [GlobalClass].

using Godot;

[GlobalClass]
public partial class MyNode : Node
{
}

Попередження

Ім'я файлу має збігатися з ім'ям класу з урахуванням регістру. Наприклад, глобальний клас з назвою "MyNode" повинен мати ім'я файлу MyNode.cs, а не myNode.cs.

Тип MyNode буде зареєстровано як глобальний клас із такою самою назвою, як і назва типу.

../../../_images/globalclasses_addnode.webp

Вікно Виберіть вузол для експортованої властивості MyNode фільтрує список вузлів у сцені відповідно до обмеження призначення.

public partial class Main : Node
{
    [Export]
    public MyNode MyNode { get; set; }
}
../../../_images/globalclasses_exportednode.webp

Якщо настроюваний тип не зареєстровано як глобальний клас, призначення обмежується типом Godot, на якому базується настроюваний тип. Наприклад, призначення інспектора для експорту типу MySimpleSprite2D обмежено Sprite2D і похідними типами.

public partial class MySimpleSprite2D : Sprite2D
{
}

У поєднанні з атрибутом [GlobalClass] атрибут [Icon] дозволяє надати шлях до піктограми, яка буде відображатися, коли клас відображається в редакторі.

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; }
}
../../../_images/globalclasses_createresource.webp

Клас Stats - це спеціальний ресурс, зареєстрований як глобальний клас. Exporting properties типу Stats дозволить призначати лише екземпляри цього типу ресурсу, а інспектор дозволить вам легко створювати та завантажувати екземпляри цього типу.

../../../_images/globalclasses_exportedproperty1.webp ../../../_images/globalclasses_exportedproperty2.webp

Попередження

Редактор Godot приховає ці спеціальні класи з іменами, які починаються з префікса «Редактор» у діалогових вікнах «Створити новий вузол» або «Створити нову сцену». Класи доступні для створення екземплярів під час виконання через їх імена класів, але автоматично приховані вікнами редактора разом із вбудованими вузлами редактора, які використовуються редактором Godot.