기본 수정사항
This commit is contained in:
@@ -10,7 +10,7 @@ namespace DinoLove.Dialog.GraphTool.Editor
|
||||
// .dlg 그래프 에셋을 기존 런타임 타입(DialogGroup / DialogNode / DialogChoice)으로 변환한다.
|
||||
// 생성된 DialogNode들은 서브에셋으로, DialogGroup이 메인 에셋으로 등록된다.
|
||||
// 따라서 DialogPlayer는 수정 없이 임포트된 .dlg 에셋(= DialogGroup)을 그대로 사용한다.
|
||||
[ScriptedImporter(20, DialogGraph.AssetExtension)] // 버전 올리면 기존 .dlg 에셋이 재임포트됨
|
||||
[ScriptedImporter(21, DialogGraph.AssetExtension)] // 버전 올리면 기존 .dlg 에셋이 재임포트됨
|
||||
internal class DialogGraphImporter : ScriptedImporter
|
||||
{
|
||||
public override void OnImportAsset(AssetImportContext ctx)
|
||||
@@ -127,6 +127,9 @@ public override void OnImportAsset(AssetImportContext ctx)
|
||||
dn.TalkText = GetInputPortValue<DialogText>(gn.GetInputPortByName(DialogLineNode.PORT_TALK)).Value;
|
||||
dn.Gesture = GetInputPortValue<GestureData>(gn.GetInputPortByName(DialogLineNode.PORT_GESTURE));
|
||||
dn.Expression = GetInputPortValue<ExpressionData>(gn.GetInputPortByName(DialogLineNode.PORT_EXPRESSION));
|
||||
dn.FrontSprite = GetInputPortValue<Sprite>(gn.GetInputPortByName(DialogLineNode.PORT_FRONT_SPRITE));
|
||||
dn.SideSprite = GetInputPortValue<Sprite>(gn.GetInputPortByName(DialogLineNode.PORT_SIDE_SPRITE));
|
||||
dn.ClearSprite = GetInputPortValue<SpriteClear>(gn.GetInputPortByName(DialogLineNode.PORT_CLEAR_SPRITE));
|
||||
dn.Voice = GetInputPortValue<VoiceClip>(gn.GetInputPortByName(DialogLineNode.PORT_VOICE));
|
||||
dn.Bgm = GetInputPortValue<AudioClip>(gn.GetInputPortByName(DialogLineNode.PORT_BGM));
|
||||
dn.Sfx = GetInputPortValue<AudioClip>(gn.GetInputPortByName(DialogLineNode.PORT_SFX));
|
||||
|
||||
@@ -19,6 +19,9 @@ internal class DialogLineNode : DialogGraphNode
|
||||
public const string PORT_TALK = "TalkText";
|
||||
public const string PORT_GESTURE = "Gesture";
|
||||
public const string PORT_EXPRESSION = "Expression";
|
||||
public const string PORT_FRONT_SPRITE = "FrontSprite";
|
||||
public const string PORT_SIDE_SPRITE = "SideSprite";
|
||||
public const string PORT_CLEAR_SPRITE = "ClearSprite";
|
||||
public const string PORT_VOICE = "Voice";
|
||||
public const string PORT_BGM = "Bgm";
|
||||
public const string PORT_SFX = "Sfx";
|
||||
@@ -68,6 +71,18 @@ protected override void OnDefinePorts(IPortDefinitionContext context)
|
||||
context.AddInputPort<DialogText>(PORT_TALK).WithDisplayName("Talk Text").Build();
|
||||
context.AddInputPort<GestureData>(PORT_GESTURE).WithDisplayName("Gesture").Build();
|
||||
context.AddInputPort<ExpressionData>(PORT_EXPRESSION).WithDisplayName("Expression").Build();
|
||||
|
||||
// 화면에 세우는 그림 — Gesture/Expression(Animator)과 달리 2D 스프라이트를 직접 갈아끼운다
|
||||
context.AddInputPort<Sprite>(PORT_FRONT_SPRITE).WithDisplayName("Front Sprite")
|
||||
.WithTooltip("이 대사 동안 화면 앞쪽(가운데 아래)에 세울 그림. 인물이 보통이지만 물건·서류도 된다. " +
|
||||
"비우면 변경 없음 — BGM과 같은 규칙이라 인물이 서 있는 동안 매 대사에 다시 꽂을 필요가 없다").Build();
|
||||
context.AddInputPort<Sprite>(PORT_SIDE_SPRITE).WithDisplayName("Side Sprite")
|
||||
.WithTooltip("이 대사 동안 화면 옆(왼쪽)에 놓을 그림. 제시한 물건을 놓고 설명할 때 쓴다. " +
|
||||
"비우면 변경 없음").Build();
|
||||
context.AddInputPort<SpriteClear>(PORT_CLEAR_SPRITE).WithDisplayName("Clear Sprite")
|
||||
.WithTooltip("이미 떠 있던 그림을 이 대사에서 걷어낸다. 그림 지정이 '비우면 변경 없음'이라 " +
|
||||
"지울 때만 쓴다. 같은 노드에서 새 그림도 지정했다면 새 그림이 이긴다").Build();
|
||||
|
||||
context.AddInputPort<VoiceClip>(PORT_VOICE).WithDisplayName("Voice").Build();
|
||||
context.AddInputPort<AudioClip>(PORT_BGM).WithDisplayName("BGM")
|
||||
.WithTooltip("있으면 이 대사부터 이 BGM으로 갈아탄다. " +
|
||||
|
||||
Reference in New Issue
Block a user