using System;
using Duality;
namespace Steering
{
///
/// This interface should but doesn't need to be used by implementations of .
/// It defines which directions of velocities an agent preferes aka in which direction is the target of the agent
///
public interface ISteeringTarget
{
///
/// Evaluates the cost function for a given velocity direction.
///
/// The agent for which the cost should be evaluated
///
/// The direction for which the cost should be evaluated
/// This NOT the velocity but only the direction (vector is normalized) of it.
///
/// Cost for the given velocity which should be between 0 and 1
float CalculateCost(Agent agent, Vector2 sampleDirection);
}
}