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 "";
    }
}
