35 lines
1.4 KiB
C#
35 lines
1.4 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
// 스토리 비트 하나 — "어느 장소에서, 어느 캐릭터가, 어떤 조건일 때, 무슨 대화를 하는가".
|
|
// StoryDatabase의 목록이 게임 전체 스토리 흐름의 단일 원본이다.
|
|
[Serializable]
|
|
public class StoryBeat
|
|
{
|
|
[Tooltip("에디터 식별용 메모 (게임에는 안 나옴)")]
|
|
public string Note;
|
|
|
|
[Tooltip("이 대화가 일어나는 장소")]
|
|
public LocationData Location;
|
|
|
|
[Tooltip("대화를 거는 캐릭터. 비우면 '장소 비트' — 말을 거는 대상 없이 " +
|
|
"이 장소에 입장하면 자동으로 재생된다 (서술·챕터 진입 연출 등)")]
|
|
public CharacterData Character;
|
|
|
|
[Tooltip("재생할 대화 그래프 (.dlg = DialogGroup)")]
|
|
public DialogGroup Group;
|
|
|
|
[Tooltip("활성 조건 (진행도/호감도 범위 + 트리거)")]
|
|
public DialogCondition Condition = new();
|
|
|
|
[Tooltip("켜면 한 번 완료한 뒤에는 다시 후보에 오르지 않는다. " +
|
|
"장소 비트처럼 입장할 때마다 반복되면 안 되는 대화에 필수")]
|
|
public bool OnceOnly;
|
|
|
|
[Tooltip("이 대화를 처음 완료하면 메인 진행도 +N (필수 대화가 아니면 0)")]
|
|
[Min(0)] public int ProgressOnComplete;
|
|
|
|
[Tooltip("대화 선택 메뉴에 표시할 이름 (비우면 그룹 이름 사용)")]
|
|
public string MenuLabel;
|
|
}
|