using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;

namespace UIControl
{
    public class CPicker
    {

        /// <summary>
        /// 언로드포트 위치(L/R)
        /// </summary>
        public string PortPos { get; set; }
        /// <summary>
        /// 프린트 위치(H/L)
        /// </summary>
        public string PrintPos { get; set; }

        /// <summary>
        /// 릴이 있는 경우 해당 릴이 어느 포트에서 왔는지의 번호
        /// </summary>
        public short PortIndex { get; set; }

        /// <summary>
        /// 현재 작업이 프론트 포트의 작업인가? (portindex 값을 가지고 판단함)
        /// </summary>
        public Boolean isFrontJob
        {
            get
            {
                if (PortIndex <= 1) return true;
                else return false;
            }
        }

        public Boolean Overload { get; set; }

        
        /// <summary>
        /// VAC센서의 값을 가지고 있음, 현재 릴이 감지되었는가?
        /// </summary>
        public Boolean isReelDetect
        {
            get
            {
                return VacOutput.Where(t => t == true).Count() > 0;
            }
        }

        /// <summary>
        /// PICK후 60mm위치에서 미리 확인한 감지 상태값
        /// 이값을 가지고 도중에 떨궜을 상황을 감지한다
        /// </summary>
        public Boolean PreCheckItemOn { get; set; }
        public Boolean HasRealItemOn { get; set; }
        public Boolean ItemOn { get; set; }
        //public Boolean[] VacDetect { get; set; }
        public Boolean[] VacOutput { get; set; }
        public CPicker()
        {
            this.Overload = false;
            PortPos = "7";
            PortIndex = -1;
            HasRealItemOn = false;
            PreCheckItemOn = false;
        }
        public void Clear()
        {
            this.Overload = false;
            ItemOn = false;
            PortPos = "--";
            PortIndex = -1;
            //if(VacDetect != null && VacDetect.Length > 0)
            //{
            //    for (int i = 0; i < VacDetect.Length; i++)
            //        VacDetect[i] = false;
            //}
            if (VacOutput != null && VacOutput.Length > 0)
            {
                for (int i = 0; i < VacOutput.Length; i++)
                    VacOutput[i] = false;
            }
        }



    }
}
