namespace FishROV.AvoidanceBenchmark
{
    public static class AvoidanceAdapterRegistry
    {
        public static IAvoidanceAdapter Create(AvoidanceFrameworkKind kind)
        {
            switch (kind)
            {
                case AvoidanceFrameworkKind.NoAvoidance:
                    return new NoAvoidanceAdapter();
                case AvoidanceFrameworkKind.Rvo2:
                    return new Rvo2Adapter();
                case AvoidanceFrameworkKind.SamplingLocal:
                    return new SamplingLocalAvoidanceAdapter();
                default:
                    return new UnavailableAvoidanceAdapter(kind);
            }
        }
    }
}
