using UnityEngine; [DisallowMultipleComponent] public class NPCInteract : MonoBehaviour { [Header("Dialogue Data")] [SerializeField] private DialogueData dialogue; [Header("Reference")] [SerializeField] private DialogueManager manager; [Header("Settings")] [SerializeField] private bool autoFindManager = true; private void Awake() { if (manager == null && autoFindManager) manager = FindFirstObjectByType(); } public void Interact() { if (dialogue == null) { Debug.LogWarning($"[NPCInteract] {name}¿¡ DialogueData°¡ ¿¬°áµÇÁö ¾Ê¾Ò½À´Ï´Ù."); return; } if (manager == null) { Debug.LogWarning($"[NPCInteract] {name}¿¡ DialogueManager°¡ ¿¬°áµÇÁö ¾Ê¾Ò½À´Ï´Ù."); return; } manager.StartDialogueFromNPC(dialogue, transform); } public void SetDialogue(DialogueData newDialogue) { dialogue = newDialogue; } public void SetManager(DialogueManager newManager) { manager = newManager; } }