namespace RobotNet.Script;

/// <summary>
/// Trạng thái trả về mỗi step trong quá trình thực hiện nhiệm vụ.
/// </summary>
/// <param name="Step"></param>
/// <param name="Message"></param>
public record MissionState(int Step, string Message);

/// <summary>
/// Khai báo một nhiệm vụ trong hệ thống RobotNet.
/// </summary>
/// <param name="isMultipleRun"></param>
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
public class MissionAttribute(bool isMultipleRun = true) : Attribute
{
    /// <summary>
    /// Cho phép nhiệm vụ này có thể chạy nhiều lần hay không.
    /// </summary>
    public bool IsMultipleRun { get; } = isMultipleRun;
}
