PJ/Assets/scripts/NPCInteractable.cs

21 lines
1.4 KiB
C#
Raw Normal View History

using UnityEngine; // Подключение движка [Базовый API Unity].
// --- Взаимодействие с NPC ---
public class NPCInteractable : MonoBehaviour // Класс взаимодействия [Модуль-посредник между кнопкой и менеджером].
{
// --- Параметры ---
public DATA_Dialogue myDialogue; // Ссылка на данные диалога [В инспекторе сюда перетаскивается созданный ассет].
private MANAGER_Dialogues dialogueManager; // Глобальная ссылка на менеджера [Для инъекции данных].
// --- Инициализация ---
void Start()
{
dialogueManager = FindObjectOfType<MANAGER_Dialogues>(); // Динамический поиск компонента [Допустимо для прототипирования, в продакшене лучше использовать Dependency Injection].
}
// --- Триггер ---
public void TriggerDialogue() // Метод активации [Связующее звено для внешней кнопки-триггера].
{
dialogueManager.StartDialogue(myDialogue); // Передача данных [Делегирование отрисовки глобальному менеджеру].
}
}