Глобальные классы C#
Глобальные классы (также известные как названные скрипты) являются типами, зарегистрированными в редакторе Godot, чтобы их можно было использовать более удобно. In GDScript, это достигается с помощью ключевого слова class_name в верхней части скрипта. Эта страница описывает, как достичь того же эффекта в C#.
Глобальные классы отображаются в диалоговых окнах Add Node и Create Resource.
Если exported property является глобальным классом, инспектор ограничивает назначение, разрешая только экземпляры этого глобального класса или любых производных классов.
Глобальные классы регистрируются с помощью атрибута [GlobalClass].
using Godot;
[GlobalClass]
public partial class MyNode : Node
{
}
Предупреждение
Имя файла должно совпадать с именем класса с учётом регистра. Например, имя файла глобального класса "MyNode" должно быть MyNode.cs, а не myNode.cs.
Тип MyNode будет зарегистрирован как глобальный класс с тем же именем, что и имя типа.
Окно Select a Node для экспортированного свойства MyNode фильтрует список узлов в сцене в соответствии с ограничением назначения.
public partial class Main : Node
{
[Export]
public MyNode MyNode { get; set; }
}
Если пользовательский тип не зарегистрирован как глобальный класс, назначение ограничено типом 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; }
}
Класс Stats — это пользовательский ресурс, зарегистрированный как глобальный класс. :Exporting properties типа Stats позволит назначать только экземпляры этого типа ресурсов, а инспектор позволит вам легко создавать и загружать экземпляры этого типа.
Предупреждение
Редактор Godot скроет эти пользовательские классы с именами, начинающимися с префикса "Editor", в диалоговых окнах "Create New Node" или "Create New Scene". Эти классы доступны для создания экземпляров во время выполнения по их именам, но автоматически скрываются окнами редактора вместе со встроенными узлами редактора, используемыми редактором Godot.