21 lines
1.4 KiB
C#
21 lines
1.4 KiB
C#
|
|
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); // Передача данных [Делегирование отрисовки глобальному менеджеру].
|
|||
|
|
}
|
|||
|
|
}
|