대화구조 수정

This commit is contained in:
2026-07-30 13:20:13 +09:00
parent 2413483853
commit 519e351fa5
15 changed files with 778 additions and 17 deletions

View File

@@ -42,10 +42,21 @@ public StoryBeat FindBeat(DialogGroup group)
return null;
}
// character가 null이면 "장소 비트"(Character를 비워 둔 항목)를 찾는다 —
// 말을 거는 대상 없이 장소 입장 시 자동 재생되는 대화다.
private static bool IsPlayable(StoryBeat beat, LocationData location, CharacterData character)
{
if (beat.Location != location || beat.Character != character || beat.Group == null)
return false;
// 1회성 비트는 완료 이력이 있으면 후보에서 빠진다 (장소 비트가 입장마다 반복되는 것 방지)
if (beat.OnceOnly)
{
var story = StoryManager.Instance;
if (story != null && story.IsDialogCompleted(beat.Group.name))
return false;
}
return beat.Condition == null || beat.Condition.IsMet(character);
}
}