진단 코드
모든 UDN 거부 코드와, 무엇이 그것을 일으키며 대신 무엇을 써야 하는지.
모든 거부에는 고정된 UDN 코드가 붙습니다. 순수한 C# 오류는 C# 컴파일러 본래의 CS 코드를 그대로 유지합니다. Udonite는 첫 거부에서 멈추지 않고 계속 진행하므로, 한 번 컴파일하면 그 behaviour의 모든 문제가 한꺼번에 나옵니다.
| 코드 | 뜻 | 어떻게 할지 |
|---|---|---|
| UDN0002 | 지원하지 않는 구문. Udonite가 아직 컴파일하지 못합니다. | 다른 방식으로 바꾸거나, 해당 줄과 함께 이슈를 남겨 주세요. "아직"인 거부는 점차 풀립니다. |
| UDN0003 | 지원하지 않는 형식. Udon에 대응하는 표현이 없는 형식입니다. | 지원되는 형식을 쓰세요. 배열은 원소 형식이 지원될 때만 지원됩니다. |
| UDN0004 | 지원하지 않는 프로그램 구조. 클래스 전체를 하나의 Udon 프로그램으로 만들 수 없습니다(예: Udon이 담을 수 없는 기반 형식). | 메시지의 안내를 따르세요. |
| UDN0005 | Udon extern이 없습니다. 호출한 Unity 또는 .NET 멤버가 Udonite의 검증된 extern 목록에 없습니다. | Udon이 노출하고 있다면 이슈를 남기면 추가됩니다. 그렇지 않다면 메시지가 그렇게 알려 줍니다. |
| UDN0006 | 루트 기반 형식을 확인할 수 없습니다. 컴파일러가 볼 수 없는 것을 상속하고 있습니다. | 기반 클래스가 컴파일되는지, 참조된 어셈블리에 있는지 확인하세요. |
| UDN0007 | 잘못된 제외 항목. 제외 파일의 한 줄을 읽을 수 없습니다. | ProjectSettings/의 해당 줄을 고치거나 지우세요. |
| UDN0008 | 제외된 코드에 도달했습니다. 컴파일되는 behaviour가 제외한 스크립트를 호출합니다. | 제외를 해제하거나 그 호출을 없애세요. |
| UDN0009 | 제외가 불완전합니다. 필요한 범위의 일부만 덮고 있습니다. | 폴더 전체 또는 스크립트 전체를 제외하세요. |
| UDN0010 | 이벤트 시그니처 불일치. 재정의한 이벤트의 매개변수가 다릅니다. | UdoniteBehaviour의 시그니처에 맞추세요. |
| UDN0011 | Udon에 대응하는 것이 없습니다. Udon에서 결코 실행할 수 없습니다. | 메시지가 제안하는 방식으로 다시 쓰세요. |
| UDN0012 | 재귀. 메서드가 직접 또는 간접적으로 자신을 호출합니다. | 명시적인 스택을 쓰는 반복문으로 바꾸세요. |
| UDN0013 | 힙 초과. Udon이 허용하는 것보다 많은 변수가 필요합니다. | behaviour를 나누거나 큰 상수 배열을 줄이세요. |
UDN0002와 UDN0011은 일부러 다른 코드입니다. 하나는 "아직", 다른 하나는 "결코"라는 뜻입니다. 어느 쪽인지 알면 기다릴지 고쳐 쓸지 판단할 수 있습니다.
거부 메시지 읽는 법
Door.cs(14,9): error UDN0005: Udonite does not support 'UnityEngine.AudioListener.volume' yet. ...
파일 이름과 위치는 바로 그 식을 가리킵니다. 이슈에는 이 줄을 그대로 붙여 주세요. 어떤 구문인지와 Udonite가 찾은 extern 시그니처까지 들어 있어서, 추가하는 데 필요한 정보가 모두 담깁니다.