using Quests; using UnityEngine; public class TrashPile : MonoBehaviour, IInteractable { [Header("Settings")] public ItemData requiredBagItem; // Ссылка на ItemData мешка (для проверки в инвентаре) public void Interact() { // 1. Проверяем, что сейчас активен именно квест по сбору мусора if (QuestManager.Instance?.currentQuest is Q1CollectGarbageQuest garbageQuest) { // 2. Проверяем, есть ли у игрока мешок if (InventorySystem.Instance.HasItem(requiredBagItem)) { // 3. Проверяем, не полон ли мешок if (garbageQuest.IsBagFull()) { Debug.Log("Мешок полон! Сначала выбросьте его в контейнер."); } else { // Если все проверки пройдены, уведомляем систему квестов InteractionHandler.Instance.NotifyInteraction(gameObject); // Уничтожаем объект мусора Destroy(gameObject); } } else { Debug.Log("Нужен мешок для мусора!"); } } // Если активен другой квест, ничего не делаем. } public string GetDescription() { // Даем описание, только если активен квест по сбору мусора if (QuestManager.Instance?.currentQuest is Q1CollectGarbageQuest garbageQuest) { // Проверяем, есть ли у игрока мешок if (!InventorySystem.Instance.HasItem(requiredBagItem)) { return "Нужен мешок для мусора"; // Подсказка, если нет мешка } // Проверяем, не полон ли мешок if (garbageQuest.IsBagFull()) { return "Мешок полон!"; } return "Собрать мусор"; // Стандартное описание } // Если квест неактивен, возвращаем пустую строку return ""; } }