UnlockMissionManager.cs 1.2 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AGVControl.BLL
{
    /// <summary>
    ///解绑料架任务管理
    /// </summary>
    public class UnlockMissionManager
    {
        public delegate void MissionChangedHandler();
        public event MissionChangedHandler MissionChanged;
        /// <summary>
        /// 任务列表
        /// </summary>
        public Dictionary<string, UnlockedShelf> NodeUnlockMissions { get; private set; }

        public UnlockMissionManager()
        {
            NodeUnlockMissions = new Dictionary<string, UnlockedShelf>();
        }
        public UnlockedShelf GetUnlockInfo(string nodeName)
        {
            if (NodeUnlockMissions.ContainsKey(nodeName))
            {
                return NodeUnlockMissions[nodeName];
            }
            return null;
        }

        public void AddMission(string nodeName,string rfid)
        {
            NodeUnlockMissions[nodeName].Add(rfid);
            MissionChanged?.Invoke();
        }
        public void DelMission(string nodeName,string rfid)
        {
            NodeUnlockMissions[nodeName].Delete(rfid);
            MissionChanged?.Invoke();
        }
    }
}