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