| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using UnityEngine;
- public enum FreeProcessType
- {
- 常规触发,
- 检查,
- 拆解,
- 安装
- }
- public class FreeProcessMark : MonoBehaviour
- {
- public static int AssembleID = 1000;
- public FreeProcessType freeProcessType = FreeProcessType.常规触发;
- public string markName;
- public List<AssembleObjInfo> assembleObjInfos = new List<AssembleObjInfo>();
- public void Enter()
- {
- }
- public bool CheckAssemble()
- {
- List<ToolConfig> seletTools = DAL.Instance.Get<ToolConfigProxy>().GetCurrentSelectDisassembleObjs();
- Debug.Log(seletTools.Count);
- foreach (var assembleItem in assembleObjInfos)
- {
- if (assembleItem.isAssembleMust)
- {
- if(seletTools.Where(s=>s.toolName==assembleItem.name).Count() == 0)
- {
- return false;
- }
- }
- }
- return true;
- }
- public void Exit()
- {
- switch (freeProcessType)
- {
- case FreeProcessType.常规触发:
- break;
- case FreeProcessType.检查:
- break;
- case FreeProcessType.拆解:
- DisAssembleToToolLibrary();
- break;
- case FreeProcessType.安装:
- AssemebleToToolLibrary();
- break;
- default:
- break;
- }
- }
- public void AssemebleToToolLibrary()
- {
- List<ToolConfig> seletTools = DAL.Instance.Get<ToolConfigProxy>().GetCurrentSelectDisassembleObjs();
- foreach (var assembleItem in assembleObjInfos)
- {
- foreach (var item in seletTools)
- {
- if (item.toolName == assembleItem.name)
- {
- DAL.Instance.Get<ToolConfigProxy>().RemoveToolConfigInfoToAssembleObjs(item);
- }
- }
- }
- }
- public void DisAssembleToToolLibrary()
- {
- foreach (var item in assembleObjInfos)
- {
- ToolConfigInfo toolConfigInfo = new ToolConfigInfo();
- toolConfigInfo.id = FreeProcessMark.AssembleID.ToString();
- FreeProcessMark.AssembleID++;
- toolConfigInfo.toolName = item.name;
- toolConfigInfo.toolDescription = item.description;
- toolConfigInfo.toolType = item.toolType;
- DAL.Instance.Get<ToolConfigProxy>().AddToolConfigInfoToAssembleObjs(toolConfigInfo);
- }
- }
- }
- [System.Serializable]
- public class AssembleObjInfo
- {
- public string name;
- public string description;
- public string toolType = "电力设备";
- //安装必须
- public bool isAssembleMust = true;
- }
|