using MainShell.Common;
using MainShell.Filewritable;
using MXJM.FileWritable;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;

namespace MainShell.ProcessResult
{
    public class SubstratePositionProcessResult : ProcessResultBase
    {
        /// <summary>
        /// 流程是否成功
        /// </summary>
        public bool IsSuccess { get; set; }

        /// <summary>
        /// 错误信息
        /// </summary>
        public string ErrorMessage { get; set; }

        /// <summary>
        /// 错误消息键
        /// </summary>
        public MessageKey ErrorMessageKey { get; set; } = MessageKey.None;

        /// <summary>
        /// 错误消息参数
        /// </summary>
        public string[] ErrorMessageArguments { get; set; } = Array.Empty<string>();

        /// <summary>
        /// 配方中可用Mark点数量
        /// </summary>
        public int AvailableMarkCount { get; set; }

        /// <summary>
        /// 成功识别的Mark点数量
        /// </summary>
        public int RecognizedMarkCount { get; set; }

        /// <summary>
        /// Mark点结果集合
        /// </summary>
        public List<Point> MarkResults { get; set; } = new List<Point>();

        /// <summary>
        /// 基板角度
        /// </summary>
        public double SubstrateAngle { get; set; } = 0;
    }
}
