namespace Flyshot.ControllerClientCompat;

/// <summary>
/// 表示普通轨迹执行接口的可选参数，字段名对齐旧 `ControllerClient::ExecuteTrajectory`。
/// </summary>
public sealed class TrajectoryExecutionOptions
{
    /// <summary>
    /// 初始化普通轨迹执行参数。
    /// </summary>
    /// <param name="method">轨迹生成方法，支持 `icsp` 或 `doubles`。</param>
    /// <param name="saveTrajectory">是否保存轨迹信息。</param>
    public TrajectoryExecutionOptions(string method = "icsp", bool saveTrajectory = false)
    {
        Method = string.IsNullOrWhiteSpace(method) ? "icsp" : method;
        SaveTrajectory = saveTrajectory;
    }

    /// <summary>
    /// 获取轨迹生成方法。
    /// </summary>
    public string Method { get; }

    /// <summary>
    /// 获取是否保存轨迹信息。
    /// </summary>
    public bool SaveTrajectory { get; }
}
