using UnityEngine; /// /// A simple component that makes an object interactable /// and just notifies the InteractionHandler that it has been interacted with. /// Ideal for objects that don't have complex logic but need to be recognized /// by the quest system (e.g., a dumpster). /// public class NotifyInteractionObject : MonoBehaviour, IInteractable { [SerializeField] private string description = "Interact"; public void Interact() { // Check if InteractionHandler exists if (InteractionHandler.Instance != null) { // Notify the system that this object (gameObject) has been interacted with. // The QuestManager, subscribed to this event, will receive the notification. InteractionHandler.Instance.NotifyInteraction(gameObject); Debug.Log($"Interaction notified for {gameObject.name}"); } else { Debug.LogError("InteractionHandler.Instance is not found in the scene."); } } public string GetDescription() { return description; } }