using System.Collections; using System.Collections.Generic; using System.Linq; using Unity.VisualScripting.Antlr3.Runtime.Misc; using UnityEngine; /// /// 直接接入式电能计量装置 步骤状态设置 /// public class StepState_1002 : StepState { private void Awake() { steps.Add(1, E_SceneType.Office); steps.Add(2, E_SceneType.Office); steps.Add(3, E_SceneType.Office); steps.Add(4, E_SceneType.Office); steps.Add(5, E_SceneType.ToolRoom); steps.Add(6, E_SceneType.ToolRoom); steps.Add(7, E_SceneType.Site); steps.Add(8, E_SceneType.Site); steps.Add(9, E_SceneType.Site); steps.Add(10, E_SceneType.Site); steps.Add(11, E_SceneType.Site); steps.Add(12, E_SceneType.Site); steps.Add(13, E_SceneType.Site); steps.Add(14, E_SceneType.Site); steps.Add(15, E_SceneType.Site); steps.Add(16, E_SceneType.Site); steps.Add(17, E_SceneType.Site); steps.Add(18, E_SceneType.Site); } /// /// 从场景第一步会依次往下执行,直到指定步骤 /// /// public override void SetStepState(int num, int lastNum) { Debug.Log("切换步骤"+num); //删除手里的东西 LiveSceneManager.Instance?.OnCheckSubProcess(); if (num == 1) { //查看任务单 OfficeManager.Instance.mobileController.downIndex = 0; } else if (num == 2) { //工作预约 OfficeManager.Instance.mobileController.downIndex = 1; } else if (num == 3) { //办理工作票 OfficeManager.Instance.mobileController.downIndex = 2; } else if (num == 4) { //填写装拆工单 } else if (num == 5) { //场景首个步骤 //正确着装 //清空背包 PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial(); //完成第一步点击去工具间 if (num == lastNum) { E_SceneType curret = GameManager.RunModelMgr.SceneType; GameManager.RunModelMgr.SceneType = E_SceneType.Office; if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID("工具间按钮", true) == 0) { Debug.Log("工具间按钮已自动点击"); } GameManager.RunModelMgr.SceneType = curret; } } else if (num == 6) { //选取工器具 //服装拿到背包 List items=ToolAndmaterialMgr.Instance.GetItemInfoByName(new List { "国网安全帽", "工作服", "绝缘手套", "绝缘靴" }); items.ForEach(item => { PacksackBagMgr.Instance.AddOneToolOrMater(item.itemInfo); Destroy(item.gameObject); //穿上 PacksackBagMgr.Instance.WearItemState(item.itemInfo, true); }); } else if (num == 7) { //场景首个步骤 //与客户沟通 //完成第一步点击去工具间 if (num == lastNum) { E_SceneType curret = GameManager.RunModelMgr.SceneType; GameManager.RunModelMgr.SceneType = E_SceneType.ToolRoom; if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID("现场按钮", true) == 0) { Debug.Log("现场按钮已自动点击"); } GameManager.RunModelMgr.SceneType = curret; } #region 背包重置并带上正确装备 //清空背包数据 PacksackBagMgr.Instance.ClearAllData(); //生成服装 List items=ToolAndmaterialMgr.Instance.CreateItemInfoByName(new List { "国网安全帽", "工作服", "绝缘手套", "绝缘靴" }); //放入背包 items.ForEach(item => { PacksackBagMgr.Instance.AddOneToolOrMater(item); //穿上 PacksackBagMgr.Instance.WearItemState(item, true); }); //生成工具 List items2 = ToolAndmaterialMgr.Instance.CreateItemInfoByName(new List { "剥线钳", "绝缘螺丝刀", "验电笔", "工作证", "盒装封印", "绝缘胶带", "三相四线电能表" }); items2.ForEach(item => { PacksackBagMgr.Instance.AddOneToolOrMater(item); }); #endregion //还原柜子 SiteManager.instance.measuringCabinet.Init(); //还原npc对话 GameObject.FindObjectsOfType().ToList().ForEach(a => { a.speackIndex = 0; }); } else if (num == 8) { //班前会 } else if (num == 9) { //接线检查 //还原npc负责人 GameObject.FindObjectsOfType().ToList().Find(a => a.triggerName == "NPC负责人").speackIndex = 1; } else if(num == 10) { //断开电源并验电 //门开着 SiteManager.instance.measuringCabinet.cabinetDoor.OpenState(); //盖子拆下来 SiteManager.instance.measuringCabinet.meteringDevice.CoverUnstallState(); //封印拆掉 SiteManager.instance.measuringCabinet.meteringDevice.CoverSealUninstallState(); //接线已检查 SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true; SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled = false; } else if (num == 11) { //核对和抄录计量设备信息 //电源断开了 SiteManager.instance.measuringCabinet.inSwitch.CloseState(); } else if(num== 12) { //拆除电能计量装置 //铭牌已读取 SiteManager.instance.measuringCabinet.meteringDevice.namePlate.isChecked = true; } else if( num == 13) { //安装电能表 //拆除状态 SiteManager.instance.measuringCabinet.meteringDevice.Init(false); SiteManager.instance.measuringCabinet.meteringDevice.gameObject.SetActive(false); SiteManager.instance.measuringCabinet.meteringDevice = null; //杂物显示 SiteManager.instance.measuringCabinet.sundries.gameObject.SetActive(true); //电能表接线取下了 SiteManager.instance.measuringCabinet.jieXian_lines.ForEach(screw => { screw.isConnected = false; screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY-2, screw.transform.localPosition.z); }); //刷新带电状态 SiteManager.instance.measuringCabinet.CheckHasElectricity(); } else if (num == 14) { //安装检查 SiteManager.instance.measuringCabinet.meteringDevice = GameObject.FindObjectOfType(true); SiteManager.instance.measuringCabinet.meteringDevice.gameObject.SetActive(true); //重新注册回调 SiteManager.instance.measuringCabinet.AddActions(); //固定螺丝拧上 SiteManager.instance.measuringCabinet.meteringDevice.FixScrewInstall(); //接线未检查 SiteManager.instance.measuringCabinet.check_JieXian.isChecked = false; SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled = true; //电能表接线连上了 SiteManager.instance.measuringCabinet.jieXian_lines.ForEach(screw => { screw.isConnected = true; screw.transform.localPosition = new Vector3(screw.transform.localPosition.x, screw.InstallPosY, screw.transform.localPosition.z); }); //接线螺丝拧上了 SiteManager.instance.measuringCabinet.meteringDevice.JieXianScrewInstallState(); //刷新带电状态 SiteManager.instance.measuringCabinet.CheckHasElectricity(); } else if(num== 15) { //现场通电及检查 //接线未检查 SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true; SiteManager.instance.measuringCabinet.check_JieXian.GetComponent().enabled = false; } else if(num== 16) { //实施封印 //开关打开了 SiteManager.instance.measuringCabinet.inSwitch.OpenState(); //盖子盖上 SiteManager.instance.measuringCabinet.meteringDevice.CoverInstallState(); } else if(num== 17) { //填写告知单 SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Left.Install(); SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Right.Install(); } else if(num== 18) { //清理现场 } } }