new_10009_YanCheng_Metrology/Assets/Scripts/StepState_9001.cs

159 lines
5.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class StepState_9001 : StepState
{
/// <summary>
/// 现场场景中的特殊物体控制
/// </summary>
private Device_Control_9001 device_Control;
private void Awake()
{
steps.Add(1, E_SceneType.ToolRoom);//正确着装
steps.Add(2, E_SceneType.ToolRoom);//选取工器具
steps.Add(3, E_SceneType.ToolRoom);//前往现场
steps.Add(4, E_SceneType.Site);//验电
steps.Add(5, E_SceneType.Site);//扫描二维码
steps.Add(6, E_SceneType.Site);//移除损坏二维码
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);//扫描二维码
}
public override void SetDeviceControl(Device_Control device_Control)
{
this.device_Control = (Device_Control_9001)device_Control;
}
/// <summary>
/// 从场景第一步会依次往下执行,直到指定步骤
/// </summary>
/// <param name="num"></param>
public override void SetStepState(int num, int lastNum)
{
Debug.Log("切换步骤" + num);
//删除手里的东西
LiveSceneManager.Instance?.OnCheckSubProcess();
Score_9001.process = num - 1;
if (num == 1)//正确着装
{
//办公室场景首个步骤
//查看任务单
//OfficeManager.Instance.mobileController.downIndex = 0;
TooRoomMannger.Instance.CreateTool();
PacksackBagMgr.Instance.ClearAllToolAndDiveceAndMaterial();
TooRoomMannger.Instance.CheckWearByWearDic();
//MobileAttach10007_7002.index = 0;
Score_9001.cdzIndex = 0;
}
else if (num == 2)//选取工器具
{
//服装拿到背包
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);
});
Score_9001.cdzIndex = 0;
}
else if (num == 3)
{
Score_9001.cdzIndex = 0;
}
else if (num == 4)//验电
{
//清空背包数据
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);
});
device_Control.InitEWM();
//Device_Control_9001.EWM_OBJ = device_Control.ewmh;
//device_Control.ewm.SetActive(false);
//device_Control.ewmh.SetActive(true);
//Device_Control_9001.ewmOK = false;
//Device_Control_9001.isSMOK = false;
//if (Device_Control_9001.EWM_OBJ != null && Device_Control_9001.EWM_OBJ.GetComponent<Tool_Title>() != null)
//Device_Control_9001.EWM_OBJ.GetComponent<Tool_Title>().isInstall = true;
Score_9001.cdzIndex = 0;
}
else if (num == 5)//扫描二维码
{
Score_9001.cdzIndex = 0;
}
else if (num == 6)//移除损坏二维码
{
Score_9001.cdzIndex = 1;
}
else if (num == 7)//更换二维码
{
Score_9001.cdzIndex = 2;
device_Control.ewmh.SetActive(false);
}
else if (num == 8)
{
//Device_Control_9001.EWM_OBJ = device_Control.ewmh;
device_Control.ewm.SetActive(true);
Device_Control_9001.ewmOK = true;
}
else
{
//GameManager.UIMgr.HidePanel<UI_ToolAndMaterialPanel>();
//GameManager.UIMgr.imageTips.HideTips();
if (num == lastNum)
{
GameManager.UIMgr.ShowPanel<UI_PhonePanel>(E_UI_Layer.Mid, (panel) =>
{
panel.index = num - 8;
panel.Init("手机", Input.mousePosition);
});
}
}
//else if (num == 10)
//{
// GameManager.UIMgr.ShowPanel<UI_PhonePanel>(E_UI_Layer.Mid, (panel) =>
// {
// UI_PhonePanel[] panels = FindObjectsOfType<UI_PhonePanel>();
// panel.index = 2;
// panel.Init("手机", Input.mousePosition);
// });
//}
//else if (num == 11)
//{
// GameManager.UIMgr.GetPanel<UI_PhonePanel>().ForceTrigger();
//}
//else if (num == 12)
//{
// GameManager.UIMgr.GetPanel<UI_PhonePanel>().ForceTrigger();
// Device_Control_9001.isSMOK = true;
//}
}
}