Afterparty/Assets/Scripts/Quest Environment/Q1/TrashPile.cs
2026-01-11 17:04:23 +03:00

62 lines
2.5 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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