2026-04-24 커뮤니케이션 시스템

This commit is contained in:
2026-04-24 14:14:04 +09:00
parent 14b4b47cd4
commit 3ea92ba3f9
23 changed files with 169 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
using System;
[Serializable]
public class DialogChoice
{
public DialogNode DestinationNode;
public string ChoiceText;
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 53b0b23b66f7c2c4f999504013357bae

View File

@@ -0,0 +1,8 @@
using UnityEngine;
[CreateAssetMenu(menuName = "Communication/Dialog Group")]
public class DialogGroup : ScriptableObject
{
public string DialogGroupName;
public DialogNode StartNode;
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1391123ae67c59242b2ba15388efd65b

View File

@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(menuName = "Communication/Dialog Node")]
public class DialogNode : ScriptableObject
{
[Header("Speaker")]
public CharacterData Speaker;
[Header("Content")]
[TextArea(2,5)] public string TalkText;
public GestureData Gesture;
public ExpressionData Expression;
public VoiceClip Voice;
public float LineDuration; //자동 넘김 시간
//LineDuration=0 → 플레이어 입력 대기 (수동)
//Voice 있음 → 클립 길이만큼 대기
//Voice 없음 → LineDuration 대기
[Header("Flow")]
public DialogNode Next; // 선택지 없을 때 자동으로 갈 노드
public List<DialogChoice> Choices; // 있으면 플레이어 선택 대기
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 120455f2b87acc14c9b01cab221c71eb

View File

@@ -0,0 +1,24 @@
using System.Collections.Generic;
using UnityEngine;
public class DialogPlayer : MonoBehaviour
{
[SerializeField] private List<DialogGroup> _dialogGroups;
private Dictionary<string, DialogGroup> _dialogGroupMap;
private void Awake()
{
_dialogGroupMap = new Dictionary<string, DialogGroup>();
foreach (var g in _dialogGroups)
{
_dialogGroupMap[g.DialogGroupName] = g;
}
}
public void VoicePlay(DialogNode node)
{
//CharacterVoiceObject speakerVoiceObject = FindSpeakerVoiceObject(node.Speaker);
//speakerVoiceObject.Play(node.Voice.Clip);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9e349795efd8d1445b33cddf0442db11