using RobotNet.RobotManager.Services.Planner.Differential;
using RobotNet.RobotManager.Services.Planner.ForkliftV2;
using RobotNet.RobotManager.Services.Planner.OmniDrive;
using RobotNet.RobotShares.Enums;

namespace RobotNet.RobotManager.Services.Planner;

public class PathPlannerManager : IPathPlannerManager
{
    public IPathPlanner GetPathPlanningService(NavigationType type)
    {
        return type switch
        {
            NavigationType.Forklift => new ForkLiftPathPlannerV2(),
            NavigationType.OmniDrive => new OmniDrivePathPlanner(),
            _ => new DifferentialPathPlanner(),
        };
    }
}
