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...
C# 전역 클래스
전역 클래스(스크립트라고도 함)는 Godot 편집기에 등록된 유형이므로 보다 편리하게 사용할 수 있습니다. GDScript <doc_gdscript_basics_class_name>`에서는 스크립트 상단에 있는 ``class_name` 키워드를 사용하여 이를 수행합니다. 이 페이지에서는 C#에서 동일한 효과를 얻는 방법을 설명합니다.
전역 클래스는 노드 및 만들기 리소스 추가 대화 상자에 표시됩니다.
:ref:`내보낸 속성 <doc_c_sharp_exports>`이 전역 클래스인 경우 검사기는 할당을 제한하여 해당 전역 클래스 또는 파생 클래스의 인스턴스만 허용합니다.
전역 클래스는 [GlobalClass] 속성으로 등록됩니다.
using Godot;
[GlobalClass]
public partial class MyNode : Node
{
}
경고
파일 이름은 대소문자 구분 방식으로 클래스 이름과 일치해야 합니다. 예를 들어 "MyNode"라는 전역 클래스의 파일 이름은 ``myNode.cs``가 아니라 ``MyNode.cs``여야 합니다.
MyNode 유형은 해당 유형의 이름과 동일한 이름을 가진 전역 클래스로 등록됩니다.
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 클래스는 글로벌 클래스로 등록된 커스텀 리소스입니다. :ref:`Stats 유형의 속성 내보내기 <doc_c_sharp_exports>`에서는 이 리소스 유형의 인스턴스만 할당할 수 있으며 검사기를 사용하면 이 유형의 인스턴스를 쉽게 생성하고 로드할 수 있습니다.
경고
Godot 편집기는 "만들기 New 노드" 또는 "만들기 New 씬" 대화 상자 창에서 접두사 "Editor"로 시작하는 이름으로 이러한 사용자 정의 클래스를 숨깁니다. 클래스는 클래스 이름을 통해 런타임에 인스턴스화할 수 있지만 Godot 편집기에서 사용하는 내장 편집기 노드와 함께 편집기 창에 의해 자동으로 숨겨집니다.