using UnityEngine; using UnityEngine.Events; /// /// Abstract base class for interaction requirements. Defines success/failure events and the TryInteract contract. /// public abstract class InteractionRequirementBase : MonoBehaviour { [Header("Events")] public UnityEvent OnSuccess; public UnityEvent OnFailure; /// /// Attempts to perform the interaction requirement with the given follower. /// /// The follower attempting the interaction. /// True if the interaction was successful, false otherwise. public abstract bool TryInteract(FollowerController follower); }