구닥다리 제거

This commit is contained in:
2026-07-30 10:49:41 +09:00
parent fc4093ee93
commit 28f014152c
8 changed files with 108 additions and 66 deletions

View File

@@ -2,7 +2,7 @@
`Communication/Dialog` 시스템(`DialogGroup` / `DialogNode` / `DialogChoice`)을
**노드 그래프로 저작**하기 위한 에디터 전용 도구입니다.
Unity GraphToolkit(`com.unity.graphtoolkit`, experimental) 기반.
Unity GraphToolkit(`Unity.GraphToolkit.Editor`) 기반 — Unity 6000.4부터 **에디터 내장 모듈**입니다.
## 동작 개요
- `.dlg` 그래프 에셋을 노드로 편집 → 저장하면 `DialogGraphImporter`
@@ -30,8 +30,11 @@ Unity GraphToolkit(`com.unity.graphtoolkit`, experimental) 기반.
- `DialogGraphNode.cs` — 공통 베이스(실행 포트 헬퍼)
- `DialogStartNode.cs` — 진입 노드
- `DialogLineNode.cs` — 대사 + 가변 N지선다 노드
- `DialogAffectionNode.cs`— 호감도 조건식만 검사해 True/False로 즉시 라우팅하는 노드
- `DialogText.cs` — TalkText 멀티라인 입력용 래퍼 타입
- `DialogTextDrawer.cs` — DialogText를 여러 줄 TextField로 그리는 CustomPropertyDrawer
- `DialogShortText.cs` — 한 줄 텍스트 포트용 래퍼 타입 (이름 오버라이드 등)
- `DialogShortTextDrawer.cs` — DialogShortText를 한 줄 TextField로 그리는 CustomPropertyDrawer
- `DialogGraphImporter.cs`— .dlg → DialogGroup/DialogNode 변환
## TalkText 멀티라인
@@ -42,6 +45,12 @@ Unity GraphToolkit(`com.unity.graphtoolkit`, experimental) 기반.
- 높이를 더 키우려면 `DialogTextDrawer``minHeight` 값을 조정.
## 메모
- GraphToolkit experimental(0.4.0-exp.2)이라 API가 바뀔 수 있습니다.
- GraphToolkit API는 여전히 experimental이라 바뀔 수 있습니다. 단, **버전을 결정하는 것은
`Packages/manifest.json`의 핀이 아니라 에디터 버전**입니다 — Unity 6000.4부터 GraphToolkit이
에디터 내장 모듈(`UnityEditor.GraphToolkitModule`)이 되었고, `com.unity.graphtoolkit` 패키지는
코드가 없는 shim(`"type": "shim"`)일 뿐입니다. 즉 manifest가 그대로여도 **에디터를 올리면
API가 바뀔 수 있으므로**, 에디터 업그레이드 후엔 이 폴더가 컴파일되는지와
`Assets/07_Data/DialogGraph/*.dlg`가 정상 임포트되는지를 확인할 것.
(패키지 버전을 내려도 API는 고정되지 않습니다 — shim엔 코드가 없음)
- 분기 출력이 비어 있으면 해당 선택지의 `DestinationNode`는 null이 되어 대화가 종료됩니다.
- 여러 경로에서 같은 노드로 연결하면(루프 포함) 하나의 `DialogNode`로 합쳐집니다.