242 lines
8.5 KiB
C#
242 lines
8.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Unity.VisualScripting.Antlr3.Runtime.Misc;
|
|
using UnityEngine;
|
|
|
|
/// <summary>
|
|
/// 直接接入式电能计量装置 步骤状态设置
|
|
/// </summary>
|
|
public class StepState_1002 : StepState
|
|
{
|
|
private void Awake()
|
|
{
|
|
steps.Add(3001, E_SceneType.Office);
|
|
steps.Add(3002, E_SceneType.Office);
|
|
steps.Add(3003, E_SceneType.Office);
|
|
steps.Add(3004, E_SceneType.Office);
|
|
steps.Add(3005, E_SceneType.ToolRoom);
|
|
steps.Add(3006, E_SceneType.ToolRoom);
|
|
steps.Add(3007, E_SceneType.Site);
|
|
steps.Add(3008, E_SceneType.Site);
|
|
steps.Add(3009, E_SceneType.Site);
|
|
steps.Add(3010, E_SceneType.Site);
|
|
steps.Add(3011, E_SceneType.Site);
|
|
steps.Add(3012, E_SceneType.Site);
|
|
steps.Add(3013, E_SceneType.Site);
|
|
steps.Add(3014, E_SceneType.Site);
|
|
steps.Add(3015, E_SceneType.Site);
|
|
steps.Add(3016, E_SceneType.Site);
|
|
steps.Add(3017, E_SceneType.Site);
|
|
steps.Add(3018, E_SceneType.Site);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 从场景第一步会依次往下执行,直到指定步骤
|
|
/// </summary>
|
|
/// <param name="num"></param>
|
|
public override void SetStepState(int num)
|
|
{
|
|
Debug.Log("切换步骤"+num);
|
|
if (num == 3001)
|
|
{
|
|
//查看任务单
|
|
OfficeManager.Instance.mobileController.downIndex = 0;
|
|
}
|
|
else if (num == 3002)
|
|
{
|
|
//工作预约
|
|
OfficeManager.Instance.mobileController.downIndex = 1;
|
|
}
|
|
else if (num == 3003)
|
|
{
|
|
//办理工作票
|
|
OfficeManager.Instance.mobileController.downIndex = 2;
|
|
}
|
|
else if (num == 3004)
|
|
{
|
|
//填写装拆工单
|
|
}
|
|
else if (num == 3005)
|
|
{
|
|
//场景首个步骤
|
|
//正确着装
|
|
|
|
//清空背包
|
|
PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial();
|
|
//完成第一步点击去工具间
|
|
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 == 3006)
|
|
{
|
|
|
|
//选取工器具
|
|
|
|
//服装拿到背包
|
|
List<Tool_SelectComponent> items=ToolAndmaterialMgr.Instance.GetItemInfoByName(new List<string> { "国网安全帽", "工作服", "绝缘手套", "绝缘靴" });
|
|
items.ForEach(item =>
|
|
{
|
|
PacksackBagMgr.Instance.AddOneToolOrMater(item.itemInfo);
|
|
Destroy(item.gameObject);
|
|
//穿上
|
|
PacksackBagMgr.Instance.WearItemState(item.itemInfo, true);
|
|
});
|
|
}
|
|
else if (num == 3007)
|
|
{
|
|
//场景首个步骤
|
|
//与客户沟通
|
|
|
|
//完成第一步点击去工具间
|
|
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<ItemInfo> items=ToolAndmaterialMgr.Instance.CreateItemInfoByName(new List<string> { "国网安全帽", "工作服", "绝缘手套", "绝缘靴" });
|
|
//放入背包
|
|
items.ForEach(item =>
|
|
{
|
|
PacksackBagMgr.Instance.AddOneToolOrMater(item);
|
|
//穿上
|
|
PacksackBagMgr.Instance.WearItemState(item, true);
|
|
});
|
|
//生成工具
|
|
List<ItemInfo> items2 = ToolAndmaterialMgr.Instance.CreateItemInfoByName(new List<string> { "剥线钳", "绝缘螺丝刀", "验电笔", "工作证", "盒装封印", "绝缘胶带", "三相四线电能表" });
|
|
items2.ForEach(item =>
|
|
{
|
|
PacksackBagMgr.Instance.AddOneToolOrMater(item);
|
|
});
|
|
|
|
#endregion
|
|
|
|
//还原柜子
|
|
SiteManager.instance.measuringCabinet.Init();
|
|
}
|
|
else if (num == 3008)
|
|
{
|
|
//班前会
|
|
}
|
|
else if (num == 3009)
|
|
{
|
|
//接线检查
|
|
}
|
|
else if(num == 3010)
|
|
{
|
|
//断开电源并验电
|
|
|
|
//门开着
|
|
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<BoxCollider>().enabled = false;
|
|
|
|
}
|
|
else if (num == 3011)
|
|
{
|
|
//核对和抄录计量设备信息
|
|
|
|
//电源断开了
|
|
SiteManager.instance.measuringCabinet.inSwitch.CloseState();
|
|
}
|
|
else if(num== 3012)
|
|
{
|
|
//拆除电能计量装置
|
|
//铭牌已读取
|
|
SiteManager.instance.measuringCabinet.meteringDevice.namePlate.isChecked = true;
|
|
}
|
|
else if( num == 3013)
|
|
{
|
|
//安装电能表
|
|
|
|
//拆除状态
|
|
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 == 3014)
|
|
{
|
|
//安装检查
|
|
|
|
SiteManager.instance.measuringCabinet.meteringDevice = GameObject.FindObjectOfType<Device_3Phase4WireMeter>(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<BoxCollider>().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== 3015)
|
|
{
|
|
//现场通电及检查
|
|
|
|
//接线未检查
|
|
SiteManager.instance.measuringCabinet.check_JieXian.isChecked = true;
|
|
SiteManager.instance.measuringCabinet.check_JieXian.GetComponent<BoxCollider>().enabled = false;
|
|
}
|
|
else if(num== 3016)
|
|
{
|
|
//实施封印
|
|
|
|
//开关打开了
|
|
SiteManager.instance.measuringCabinet.inSwitch.OpenState();
|
|
//盖子盖上
|
|
SiteManager.instance.measuringCabinet.meteringDevice.CoverInstallState();
|
|
}
|
|
else if(num== 3017)
|
|
{
|
|
//填写告知单
|
|
SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Left.Install();
|
|
SiteManager.instance.measuringCabinet.meteringDevice.cover.cover_seal_Right.Install();
|
|
}
|
|
else if(num== 3018)
|
|
{
|
|
//清理现场
|
|
}
|
|
}
|
|
}
|