NPCs/Stimuli/Stimulus.cs
namespace Opium.AI;

/// <summary>
/// Generic stimulus - you should derive from this if you want a new stimulus type
/// </summary>
public class Stimulus
{
	/// <summary>
	/// The actor that made this stimulus, if any
	/// </summary>
	public Actor Actor;

	public TimeSince LifeTime;
	public Vector3 Position;
	public bool HasExpired => LifeTime > 5f;

	protected Stimulus( Vector3 position, Actor actor = null )
	{
		LifeTime = 0;
		Position = position;
		Actor = actor;
	}

	public virtual bool ShouldReact( Actor actor )
	{
		return true;
	}
}