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