2026-07-10 대화 끼어들기 구현
This commit is contained in:
@@ -70,9 +70,12 @@ private void OnDestroy()
|
||||
// - 배치는 화자 오브젝트의 DialogHudPlacement 값 사용, 없으면 이 컴포넌트의 기본값 폴백
|
||||
// - speakerNameOverride가 비어있지 않으면 CharacterData.Name 대신 그 이름을 표시한다 (예: "???")
|
||||
// - 화자의 DialogHudPlacement에 후보 목록이 있으면 벽/가림 검사를 통과하는 첫 후보 위치로 자동 배치
|
||||
public void Show(CharacterData speaker, string text, string speakerNameOverride = null)
|
||||
// - anchorOverride가 있으면 창의 위치/배치만 그 캐릭터 기준으로 하고 이름/대사는 speaker 것을 쓴다
|
||||
// (다른 NPC가 끼어드는 대사지만 창은 대화 주인 옆에 두고 싶을 때)
|
||||
public void Show(CharacterData speaker, string text, string speakerNameOverride = null, CharacterData anchorOverride = null)
|
||||
{
|
||||
var voiceObj = speaker != null ? CharacterVoiceObject.Find(speaker) : null;
|
||||
var anchorData = anchorOverride != null ? anchorOverride : speaker;
|
||||
var voiceObj = anchorData != null ? CharacterVoiceObject.Find(anchorData) : null;
|
||||
_speakerTransform = voiceObj != null ? voiceObj.transform : null;
|
||||
|
||||
DialogHudPlacement placement = null;
|
||||
|
||||
Reference in New Issue
Block a user