配置改成xml

This commit is contained in:
陈向学 2024-09-01 16:23:50 +08:00
parent 1447671a17
commit 33b9624624
14 changed files with 520 additions and 174 deletions

View File

@ -1,5 +1,6 @@
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Diagnostics; using System.Diagnostics;
using UnityEngine; using UnityEngine;
/// <summary> /// <summary>
@ -20,6 +21,9 @@ public class D_Scheme
public string ToolOrMaterilOrDevice; public string ToolOrMaterilOrDevice;
public int deviceTypeId;
public string deviceMap;
#endregion #endregion
/// <summary> /// <summary>

View File

@ -0,0 +1,12 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class D_System
{
public int id;
public string systemName;
public string loadName;
public string titleName;
public List<D_Scheme> subjects=new List<D_Scheme>();
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 242c547950f09f54b9c3940d563aa70c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,7 +1,9 @@
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using UnityEngine; using UnityEngine;
using System.Xml;
using System.IO;
using System.Linq;
/// <summary> /// <summary>
/// 数据管理类 /// 数据管理类
@ -13,29 +15,33 @@ public class DataManager : BaseManager<DataManager>
} }
/// <summary> /// <summary>
/// 方案 /// 系统科目配置数据
/// </summary> /// </summary>
private Dictionary<int, TB_Scheme> schemeDic = new Dictionary<int, TB_Scheme>(); public D_System d_System;
///// <summary>
///// 方案
///// </summary>
//private Dictionary<int, TB_Scheme> schemeDic = new Dictionary<int, TB_Scheme>();
/// <summary> ///// <summary>
/// 流程 ///// 流程
/// </summary> ///// </summary>
private Dictionary<int, TB_Process> processDic = new Dictionary<int, TB_Process>(); //private Dictionary<int, TB_Process> processDic = new Dictionary<int, TB_Process>();
/// <summary> ///// <summary>
/// 子流程 ///// 子流程
/// </summary> ///// </summary>
private Dictionary<int, TB_SubProcess> subProcessDic = new Dictionary<int, TB_SubProcess>(); //private Dictionary<int, TB_SubProcess> subProcessDic = new Dictionary<int, TB_SubProcess>();
/// <summary> ///// <summary>
/// 子流程步骤 ///// 子流程步骤
/// </summary> ///// </summary>
private Dictionary<int, TB_SubProcessStep> subProcessStepDic = new Dictionary<int, TB_SubProcessStep>(); //private Dictionary<int, TB_SubProcessStep> subProcessStepDic = new Dictionary<int, TB_SubProcessStep>();
/// <summary> ///// <summary>
/// 虚拟仿真系统 ///// 虚拟仿真系统
/// </summary> ///// </summary>
private Dictionary<int, TB_System> systemDic = new Dictionary<int, TB_System>(); //private Dictionary<int, TB_System> systemDic = new Dictionary<int, TB_System>();
/// <summary> /// <summary>
/// 设备类型 /// 设备类型
@ -54,13 +60,120 @@ public class DataManager : BaseManager<DataManager>
/// </summary> /// </summary>
public void Init() public void Init()
{ {
schemeDic = GameManager.BinaryMgr.GetTable<TB_SchemeContainer>().dataDic; //设备类型
processDic = GameManager.BinaryMgr.GetTable<TB_ProcessContainer>().dataDic; ReadDeviceType(Application.streamingAssetsPath+ "/Setting/设备类型.xml");
subProcessDic = GameManager.BinaryMgr.GetTable<TB_SubProcessContainer>().dataDic; //工具材料
subProcessStepDic = GameManager.BinaryMgr.GetTable<TB_SubProcessStepContainer>().dataDic; ReadToolAndMaterial(Application.streamingAssetsPath + "/Setting/工具材料.xml");
systemDic = GameManager.BinaryMgr.GetTable<TB_SystemContainer>().dataDic; //科目
deviceTypeDic = GameManager.BinaryMgr.GetTable<TB_DeviceTypeContainer>().dataDic; Directory.GetFiles(Application.streamingAssetsPath + "/Setting/科目").ToList().ForEach(a =>
toolAndMaterialDic = GameManager.BinaryMgr.GetTable<TB_ToolAndMaterialContainer>().dataDic; {
if(Path.GetExtension(a)==".xml")
ReadSubecjtXML(a);
});
//schemeDic = GameManager.BinaryMgr.GetTable<TB_SchemeContainer>().dataDic;
//processDic = GameManager.BinaryMgr.GetTable<TB_ProcessContainer>().dataDic;
//subProcessDic = GameManager.BinaryMgr.GetTable<TB_SubProcessContainer>().dataDic;
//subProcessStepDic = GameManager.BinaryMgr.GetTable<TB_SubProcessStepContainer>().dataDic;
//systemDic = GameManager.BinaryMgr.GetTable<TB_SystemContainer>().dataDic;
//deviceTypeDic = GameManager.BinaryMgr.GetTable<TB_DeviceTypeContainer>().dataDic;
//toolAndMaterialDic = GameManager.BinaryMgr.GetTable<TB_ToolAndMaterialContainer>().dataDic;
}
private void ReadDeviceType(string path)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path);
var nodes = xmlDoc.SelectNodes("root/DeviceType");
foreach (XmlNode node in nodes)
{
TB_DeviceType tB_DeviceType = new TB_DeviceType();
tB_DeviceType.id = int.Parse(node.Attributes["id"].Value);
tB_DeviceType.deviceTypeName = node.Attributes["deviceTypeName"].Value;
deviceTypeDic.Add(tB_DeviceType.id, tB_DeviceType);
}
}
private void ReadToolAndMaterial(string path)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path);
var nodes=xmlDoc.SelectNodes("root/ToolMaterial");
foreach (XmlNode node in nodes)
{
TB_ToolAndMaterial tB_ToolAndMaterial = new TB_ToolAndMaterial();
tB_ToolAndMaterial.id= int.Parse(node.Attributes["id"].Value);
tB_ToolAndMaterial.objName = node.Attributes["objName"].Value;
tB_ToolAndMaterial.type= int.Parse(node.Attributes["type"].Value);
toolAndMaterialDic.Add(tB_ToolAndMaterial.id, tB_ToolAndMaterial);
}
}
private void ReadSubecjtXML(string path)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(path);
//系统
XmlNode sysnode = xmlDoc.SelectSingleNode("TB_System");
d_System = new D_System();
d_System.id = int.Parse(sysnode.Attributes["id"].Value);
d_System.systemName = sysnode.Attributes["systemName"].Value;
d_System.loadName = sysnode.Attributes["loadName"].Value;
d_System.titleName = sysnode.Attributes["titleName"].Value;
//检索不同科目文件
//科目
XmlNode subjectnode = xmlDoc.SelectSingleNode("TB_System/Subject");
D_Scheme subject = new D_Scheme();
subject.id = int.Parse(subjectnode.Attributes["id"].Value);
subject.deviceTypeId = int.Parse(subjectnode.Attributes["deviceTypeId"].Value);
subject.schemeName = subjectnode.Attributes["schemeName"].Value;
subject.deviceMap = subjectnode.Attributes["deviceMap"].Value;
//subject.schemeDes = subjectnode.Attributes["schemeDes"].Value;
subject.ToolOrMaterilOrDevice = subjectnode.Attributes["ToolOrMaterilOrDevice"].Value;
d_System.subjects.Add(subject);
//流程
var processNodes = xmlDoc.SelectNodes("TB_System/Subject/Process");
foreach (XmlNode processNode in processNodes)
{
D_Process process = new D_Process();
process.schemeId = subject.id;
process.processName = processNode.Attributes["processName"].Value;
//process.processDes = processNode.Attributes["processDes"].Value;
subject.processes.Add(process);
process.id = subject.processes.IndexOf(process)+1;
//步骤
foreach (XmlNode stepNode in processNode.ChildNodes)
{
D_SubProcess step = new D_SubProcess();
step.processId = process.id;
step.schemeId = subject.id;
step.subProcessName = stepNode.Attributes["subProcessName"].Value;
//step.tipTitle = stepNode.Attributes["tipTitle"].Value;
step.tips = stepNode.Attributes["tips"].Value;
//step.precondition= stepNode.Attributes["precondition"].Value;
//step.isPrecondition= bool.Parse(stepNode.Attributes["isPrecondition"].Value);
process.subProcesses.Add(step);
step.id = process.subProcesses.IndexOf(step)+1;
foreach (XmlNode operationNode in stepNode.ChildNodes)
{
//操作
D_SubProcessStep operation = new D_SubProcessStep();
operation.processId = process.id;
operation.schemeId = subject.id;
operation.subProcessStepName = operationNode.Attributes["subProcessStepName"].Value;
operation.triggerID = operationNode.Attributes["triggerID"].Value;
operation.tipTitle = operationNode.Attributes["tipTitle"].Value;
operation.precondition = operationNode.Attributes["precondition"].Value;
//operation.isPrecondition = bool.Parse(operationNode.Attributes["isPrecondition"].Value);
step.subProcessStepes.Add(operation);
//operation.id = operationIndex;
operation.id = step.subProcessStepes.IndexOf(operation) + 1;
}
}
}
} }
public Dictionary<int, TB_DeviceType> GetAllDeviceTypes() public Dictionary<int, TB_DeviceType> GetAllDeviceTypes()
@ -72,16 +185,18 @@ public class DataManager : BaseManager<DataManager>
/// 获取当前系统所有的方案 /// 获取当前系统所有的方案
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<TB_Scheme> GetAllSchemeName() public List<D_Scheme> GetAllSchemeName()
{ {
var allSchemeList = new List<TB_Scheme>(); return d_System.subjects;
foreach (var item in schemeDic.Values)
{
if (item.systemId == GameManager.Instance.systemId)
allSchemeList.Add(item);
}
return allSchemeList; //var allSchemeList = new List<D_Scheme>();
//foreach (var item in schemeDic.Values)
//{
// if (item.systemId == GameManager.Instance.systemId)
// allSchemeList.Add(item);
//}
//return allSchemeList;
} }
/// <summary> /// <summary>
@ -124,144 +239,148 @@ public class DataManager : BaseManager<DataManager>
/// <returns></returns> /// <returns></returns>
public D_Scheme GetSchemeData(int id) public D_Scheme GetSchemeData(int id)
{ {
D_Scheme d_Scheme = new D_Scheme(); return d_System.subjects.Find(x => x.id == id);
//获取方案数据 //D_Scheme d_Scheme = new D_Scheme();
if (schemeDic.ContainsKey(id)) ////获取方案数据
{ //if (schemeDic.ContainsKey(id))
d_Scheme.id = schemeDic[id].id; //{
d_Scheme.schemeName = schemeDic[id].schemeName; // d_Scheme.id = schemeDic[id].id;
d_Scheme.ToolOrMaterilOrDevice = schemeDic[id].ToolOrMaterilOrDevice; // d_Scheme.schemeName = schemeDic[id].schemeName;
} // d_Scheme.ToolOrMaterilOrDevice = schemeDic[id].ToolOrMaterilOrDevice;
d_Scheme.processes = GetD_Processes(d_Scheme.id); //}
return d_Scheme; //d_Scheme.processes = GetD_Processes(d_Scheme.id);
//return d_Scheme;
} }
/// <summary> #region
/// 根据方案Id 获取流程列表 ///// <summary>
/// </summary> ///// 根据方案Id 获取流程列表
/// <param name="schemeId"></param> ///// </summary>
/// <returns></returns> ///// <param name="schemeId"></param>
private List<D_Process> GetD_Processes(int schemeId) ///// <returns></returns>
{ //private List<D_Process> GetD_Processes(int schemeId)
List<D_Process> d_Processes = new List<D_Process>(); //{
//获取方案流程数据 // List<D_Process> d_Processes = new List<D_Process>();
foreach (var item in processDic.Values) // //获取方案流程数据
{ // foreach (var item in processDic.Values)
if (item.schemeId == schemeId) // {
{ // if (item.schemeId == schemeId)
D_Process d_Process = new D_Process(); // {
d_Process.id = item.id; // D_Process d_Process = new D_Process();
d_Process.processName = item.processName; // d_Process.id = item.id;
int processId = item.id; // d_Process.processName = item.processName;
d_Process.subProcesses = GetD_SubProcesses(schemeId, processId); // int processId = item.id;
d_Processes.Add(d_Process); // d_Process.subProcesses = GetD_SubProcesses(schemeId, processId);
} // d_Processes.Add(d_Process);
} // }
// }
return d_Processes; // return d_Processes;
} //}
/// <summary> ///// <summary>
/// 根据方案Id,流程Id ,获取子流程列表 ///// 根据方案Id,流程Id ,获取子流程列表
/// </summary> ///// </summary>
/// <param name="schemeId"></param> ///// <param name="schemeId"></param>
/// <param name="processId"></param> ///// <param name="processId"></param>
/// <returns></returns> ///// <returns></returns>
public List<D_SubProcess> GetD_SubProcesses(int schemeId, int processId) //public List<D_SubProcess> GetD_SubProcesses(int schemeId, int processId)
{ //{
List<D_SubProcess> d_SubProcesses = new List<D_SubProcess>(); // List<D_SubProcess> d_SubProcesses = new List<D_SubProcess>();
foreach (var item in subProcessDic.Values) // foreach (var item in subProcessDic.Values)
{ // {
if (item.schemeId == schemeId && item.processId == processId) // if (item.schemeId == schemeId && item.processId == processId)
{ // {
D_SubProcess d_SubProcess = new D_SubProcess(); // D_SubProcess d_SubProcess = new D_SubProcess();
d_SubProcess.id = item.id; // d_SubProcess.id = item.id;
d_SubProcess.schemeId = item.schemeId; // d_SubProcess.schemeId = item.schemeId;
d_SubProcess.processId = item.processId; // d_SubProcess.processId = item.processId;
d_SubProcess.subProcessName = item.subProcessName; // d_SubProcess.subProcessName = item.subProcessName;
d_SubProcess.isPrecondition = item.isPrecondition; // d_SubProcess.isPrecondition = item.isPrecondition;
d_SubProcess.precondition = item.precondition; // d_SubProcess.precondition = item.precondition;
d_SubProcess.tips = item.tips; // d_SubProcess.tips = item.tips;
int subProcessId = item.id; // int subProcessId = item.id;
d_SubProcess.subProcessStepes = GetD_SubProcessSteps(schemeId, processId, subProcessId); // d_SubProcess.subProcessStepes = GetD_SubProcessSteps(schemeId, processId, subProcessId);
d_SubProcesses.Add(d_SubProcess); // d_SubProcesses.Add(d_SubProcess);
} // }
} // }
return d_SubProcesses; // return d_SubProcesses;
} //}
/// <summary> ///// <summary>
/// 根据方案Id,流程Id,子流程Id 获取子流程步骤列表 ///// 根据方案Id,流程Id,子流程Id 获取子流程步骤列表
/// </summary> ///// </summary>
/// <param name="schemeId"></param> ///// <param name="schemeId"></param>
/// <param name="processId"></param> ///// <param name="processId"></param>
/// <param name="subProcessStepId"></param> ///// <param name="subProcessStepId"></param>
/// <returns></returns> ///// <returns></returns>
private List<D_SubProcessStep> GetD_SubProcessSteps(int schemeId, int processId, int subProcessId) //private List<D_SubProcessStep> GetD_SubProcessSteps(int schemeId, int processId, int subProcessId)
{ //{
List<D_SubProcessStep> d_SubProcessSteps = new List<D_SubProcessStep>(); // List<D_SubProcessStep> d_SubProcessSteps = new List<D_SubProcessStep>();
foreach (var step in subProcessStepDic.Values) // foreach (var step in subProcessStepDic.Values)
{ // {
if (step.schemeId == schemeId && step.processId == processId && step.subProcessId == subProcessId) // if (step.schemeId == schemeId && step.processId == processId && step.subProcessId == subProcessId)
{ // {
D_SubProcessStep d_SubProcessStep = new D_SubProcessStep(); // D_SubProcessStep d_SubProcessStep = new D_SubProcessStep();
d_SubProcessStep.id = step.id; // d_SubProcessStep.id = step.id;
d_SubProcessStep.schemeId = step.schemeId; // d_SubProcessStep.schemeId = step.schemeId;
d_SubProcessStep.processId = step.processId; // d_SubProcessStep.processId = step.processId;
d_SubProcessStep.subProcessId = step.subProcessId; // d_SubProcessStep.subProcessId = step.subProcessId;
d_SubProcessStep.subProcessStepName = step.subProcessStepName; // d_SubProcessStep.subProcessStepName = step.subProcessStepName;
d_SubProcessStep.isPrecondition = step.isPrecondition; // d_SubProcessStep.isPrecondition = step.isPrecondition;
d_SubProcessStep.precondition = step.precondition; // d_SubProcessStep.precondition = step.precondition;
d_SubProcessStep.triggerID = step.triggerID; // d_SubProcessStep.triggerID = step.triggerID;
d_SubProcessStep.tipTitle = step.tipTitle; // d_SubProcessStep.tipTitle = step.tipTitle;
d_SubProcessStep.score = step.score; // d_SubProcessStep.score = step.score;
d_SubProcessSteps.Add(d_SubProcessStep); // d_SubProcessSteps.Add(d_SubProcessStep);
} // }
} // }
return d_SubProcessSteps; // return d_SubProcessSteps;
} //}
public List<int> GetSubProcessStepIDByTriggerID(int triggerID) //public List<int> GetSubProcessStepIDByTriggerID(int triggerID)
{ //{
List<TB_SubProcessStep> tb_subProcesssSteps = new List<TB_SubProcessStep>(); // List<TB_SubProcessStep> tb_subProcesssSteps = new List<TB_SubProcessStep>();
List<int> stepIDsTemp = new List<int>(); // List<int> stepIDsTemp = new List<int>();
foreach (var item in subProcessStepDic.Values) // foreach (var item in subProcessStepDic.Values)
{ // {
if (item.schemeId == GameManager.ProcessMgr.schemeID) // if (item.schemeId == GameManager.ProcessMgr.schemeID)
tb_subProcesssSteps.Add(item); // tb_subProcesssSteps.Add(item);
} // }
foreach (var item in tb_subProcesssSteps) // foreach (var item in tb_subProcesssSteps)
{ // {
if (string.IsNullOrEmpty(item.triggerID)) // if (string.IsNullOrEmpty(item.triggerID))
{ // {
continue; // continue;
} // }
string[] subProcessStepToolID = item.triggerID.Split(','); // string[] subProcessStepToolID = item.triggerID.Split(',');
for (int i = 0; i < subProcessStepToolID.Length; i++) // for (int i = 0; i < subProcessStepToolID.Length; i++)
{ // {
if (int.Parse(subProcessStepToolID[i]) == triggerID) // if (int.Parse(subProcessStepToolID[i]) == triggerID)
stepIDsTemp.Add(item.id); // stepIDsTemp.Add(item.id);
} // }
} // }
return stepIDsTemp; // return stepIDsTemp;
} //}
#endregion
/// <summary> /// <summary>
/// 根据系统Id 获取系统信息 /// 根据系统Id 获取系统信息
/// </summary> /// </summary>
/// <param name="systemId"></param> /// <param name="systemId"></param>
/// <returns></returns> /// <returns></returns>
public TB_System GetSystemInfo(int systemId) public D_System GetSystemInfo(int systemId)
{ {
if (systemDic.ContainsKey(systemId)) return d_System;
{ //if (systemDic.ContainsKey(systemId))
return systemDic[systemId]; //{
} // return systemDic[systemId];
//}
return null; //return null;
} }
/// <summary> /// <summary>
@ -281,13 +400,13 @@ public class DataManager : BaseManager<DataManager>
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
/// <returns></returns> /// <returns></returns>
public TB_Scheme GetTitleSpriteName(int id) //public TB_Scheme GetTitleSpriteName(int id)
{ //{
if (schemeDic.ContainsKey(id)) // if (schemeDic.ContainsKey(id))
{ // {
return schemeDic[id]; // return schemeDic[id];
} // }
return null; // return null;
} //}
} }

View File

@ -75,11 +75,11 @@ public class UI_LoadingPanel : BasePanel
currentProgress = 0; currentProgress = 0;
targetProgress = 0; targetProgress = 0;
isUpdate = false; isUpdate = false;
TB_System tB_System = GameManager.DataMgr.GetSystemInfo(GameManager.Instance.systemId); D_System system = GameManager.DataMgr.GetSystemInfo(GameManager.Instance.systemId);
//print(tB_System);
if (tB_System == null) if (system == null)
return; return;
GameManager.ResourcesMgr.LoadAsync<Sprite>(Const.LoadBGPath + tB_System.loadName, (sprite) => GameManager.ResourcesMgr.LoadAsync<Sprite>(Const.LoadBGPath + system.loadName, (sprite) =>
{ {
this.GetComponent<Image>().sprite = sprite; this.GetComponent<Image>().sprite = sprite;
}); });

View File

@ -9,12 +9,12 @@ using UnityEngine.UI;
public class UI_SelectDevicePanel : BasePanel public class UI_SelectDevicePanel : BasePanel
{ {
private List<TB_Scheme> allSchemeName; //private List<TB_Scheme> allSchemeName;
private Dictionary<int, TB_DeviceType> allDeviceTypes; private Dictionary<int, TB_DeviceType> allDeviceTypes;
public void Init() public void Init()
{ {
allSchemeName = GameManager.DataMgr.GetAllSchemeName(); //allSchemeName = GameManager.DataMgr.GetAllSchemeName();
allDeviceTypes = GameManager.DataMgr.GetAllDeviceTypes(); allDeviceTypes = GameManager.DataMgr.GetAllDeviceTypes();
CreatTitleAndBtnItem(); CreatTitleAndBtnItem();
} }
@ -23,7 +23,7 @@ public class UI_SelectDevicePanel : BasePanel
{ {
var onlyDeviceHashSet = new HashSet<int>(); var onlyDeviceHashSet = new HashSet<int>();
foreach (var scheme in allSchemeName) foreach (var scheme in GameManager.DataMgr.d_System.subjects)
{ {
if (!onlyDeviceHashSet.Contains(scheme.deviceTypeId)) //没有这个设备类型ID就添加唯一标识 if (!onlyDeviceHashSet.Contains(scheme.deviceTypeId)) //没有这个设备类型ID就添加唯一标识
{ {
@ -34,13 +34,11 @@ public class UI_SelectDevicePanel : BasePanel
if (allDeviceTypes.TryGetValue(scheme.deviceTypeId, out TB_DeviceType deviceNameItem)) if (allDeviceTypes.TryGetValue(scheme.deviceTypeId, out TB_DeviceType deviceNameItem))
{ {
titleItem.GetComponentInChildren<TextMeshProUGUI>().text = deviceNameItem.deviceTypeName; titleItem.GetComponentInChildren<TextMeshProUGUI>().text = deviceNameItem.deviceTypeName;
var currentIdList = allSchemeName.FindAll(s => s.deviceTypeId == scheme.deviceTypeId); var currentIdList = GameManager.DataMgr.d_System.subjects.FindAll(s => s.deviceTypeId == scheme.deviceTypeId);
//遍历每个当前设备类型,并生成按钮 //遍历每个当前设备类型,并生成按钮
currentIdList.ForEach(x => currentIdList.ForEach(x =>
{ {
var deviceItemBtn = var deviceItemBtn =GameManager.ResourcesMgr.Load<GameObject>(Const.UI_Item +"UI_SelectDevicePanel/deviceItemBtn");
GameManager.ResourcesMgr.Load<GameObject>(Const.UI_Item +
"UI_SelectDevicePanel/deviceItemBtn");
//按钮的父节点是标题的父节点content //按钮的父节点是标题的父节点content
deviceItemBtn.transform.parent = titleItem.transform.parent; deviceItemBtn.transform.parent = titleItem.transform.parent;
deviceItemBtn.GetComponentInChildren<TextMeshProUGUI>().text = x.schemeName; deviceItemBtn.GetComponentInChildren<TextMeshProUGUI>().text = x.schemeName;

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 542cf3e85b05d07439ab395ebbf412b8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<root>
<ToolMaterial id="5001" objName="万用表" type="0"></ToolMaterial>
<ToolMaterial id="5002" objName="剥线钳" type="0"></ToolMaterial>
<ToolMaterial id="5003" objName="绝缘螺丝刀" type="0"></ToolMaterial>
<ToolMaterial id="5004" objName="验电笔" type="0"></ToolMaterial>
<ToolMaterial id="5005" objName="手机" type="3"></ToolMaterial>
<ToolMaterial id="5006" objName="工作票按钮" type="3"></ToolMaterial>
<ToolMaterial id="5007" objName="拆装工单按钮" type="3"></ToolMaterial>
<ToolMaterial id="5008" objName="国网安全帽" type="0"></ToolMaterial>
<ToolMaterial id="5009" objName="工作服" type="0"></ToolMaterial>
<ToolMaterial id="5010" objName="绝缘手套" type="0"></ToolMaterial>
<ToolMaterial id="5011" objName="绝缘靴" type="0"></ToolMaterial>
<ToolMaterial id="5012" objName="镜子" type="3"></ToolMaterial>
<ToolMaterial id="5013" objName="低压工作票确认按钮" type="3"></ToolMaterial>
<ToolMaterial id="5014" objName="工作证" type="0"></ToolMaterial>
<ToolMaterial id="5015" objName="盒装封印" type="2"></ToolMaterial>
<ToolMaterial id="5016" objName="绝缘胶带" type="2"></ToolMaterial>
<ToolMaterial id="5017" objName="三相四线电能表" type="1"></ToolMaterial>
<ToolMaterial id="5018" objName="NPC客户" type="3"></ToolMaterial>
<ToolMaterial id="5019" objName="背包按钮" type="3"></ToolMaterial>
<ToolMaterial id="5020" objName="NPC负责人" type="3"></ToolMaterial>
<ToolMaterial id="5021" objName="插座" type="3"></ToolMaterial>
<ToolMaterial id="5022" objName="柜门" type="3"></ToolMaterial>
<ToolMaterial id="5023" objName="电能表封印" type="3"></ToolMaterial>
<ToolMaterial id="5024" objName="电能表盖子" type="3"></ToolMaterial>
<ToolMaterial id="5025" objName="电能表螺丝" type="3"></ToolMaterial>
</root>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 681c7b4d382ec864eb97877646c75917
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9baf74ec300e8094eac1ebb9e7939c8d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<TB_System id="10002" systemName="计量装置安装模拟仿真" loadName="计量装置轮换及现场校验仿真" titleName="计量装置轮换及现场校验仿真">
<Subject id="1002" deviceTypeId="20002" schemeName="直接接入式电能计量装置" deviceMap="单相表" schemeDes="" ToolOrMaterilOrDevice="5002,5003,5004,5008,5009,5010,5011,5014,5015,5016,5017">
<Process id="2001" processName="任务接受" processDes="">
<Step id="3001" subProcessName="查看任务单" isPrecondition="FALSE" precondition="" tipTitle="" tips="请先打看掌机,查看您接受到的任务工单">
<operation id="" subProcessStepName="查看任务单" isPrecondition="" precondition="Office" triggerID="手机" tipTitle="请点击桌面上的移动作业终端" score=""></operation>
</Step>
</Process >
<Process id="2002" processName="工作前准备" processDes="">
<Step id="3002" subProcessName="工作预约" isPrecondition="FALSE" precondition="" tipTitle="" tips="请电话联系客户">
<operation id="" subProcessStepName="工作预约" isPrecondition="" precondition="Office" triggerID="手机" tipTitle="请点击桌面上的移动作业终端" score=""></operation>
</Step>
<Step id="3003" subProcessName="办理工作票" isPrecondition="FALSE" precondition="" tipTitle="" tips="请选择合适的工作票,并正确填写">
<operation id="" subProcessStepName="选择正确工作票" isPrecondition="" precondition="Office" triggerID="工作票按钮,低压工作票确认按钮" tipTitle="请打开左边菜单点击工作票按钮" score=""></operation>
</Step>
<Step id="3004" subProcessName="填写装拆工单" isPrecondition="FALSE" precondition="" tipTitle="" tips="请填写正确的拆装工作单">
<operation id="" subProcessStepName="填写拆装工作单" isPrecondition="" precondition="Office" triggerID="拆装工单按钮" tipTitle="请填写拆装工作单" score=""></operation>
</Step>
<Step id="3005" subProcessName="正确着装" isPrecondition="FALSE" precondition="" tipTitle="" tips="请前往工具间,选取工作服、绝缘鞋、安全帽、手套,到梳妆镜面前进行换装">
<operation id="" subProcessStepName="前往工具间" isPrecondition="" precondition="Office" triggerID="工具间按钮" tipTitle="" score=""></operation>
<operation id="" subProcessStepName="选择着装" isPrecondition="" precondition="ToolRoom" triggerID="国网安全帽,工作服,绝缘手套,绝缘靴" tipTitle="请点击正确的着装" score=""></operation>
<operation id="" subProcessStepName="正确着装" isPrecondition="" precondition="ToolRoom" triggerID="镜子,国网安全帽,工作服,绝缘手套,绝缘靴" tipTitle="请走到镜子面前,点击镜子" score=""></operation>
</Step>
<Step id="3006" subProcessName="选取工器具" isPrecondition="FALSE" precondition="" tipTitle="" tips="请前往工具间,选取电能表、绝缘螺丝刀、剥线钳、绝缘胶带、验电笔、封印、相序表、工作证">
<operation id="" subProcessStepName="选取工器具" isPrecondition="" precondition="ToolRoom" triggerID="剥线钳,绝缘螺丝刀,验电笔,工作证,盒装封印,绝缘胶带,三相四线电能表" tipTitle="请点击正确工器具" score=""></operation>
</Step>
</Process>
<Process id="2003" processName="现场开工" processDes="">
<Step id="3007" subProcessName="与客户沟通" isPrecondition="FALSE" precondition="" tipTitle="" tips="请前往现场,出示工作牌,告知工作内容。">
<operation id="" subProcessStepName="前往现场" isPrecondition="" precondition="ToolRoom" triggerID="现场按钮" tipTitle="请前往现场" score=""></operation>
<operation id="" subProcessStepName="与客户沟通" isPrecondition="" precondition="Site" triggerID="NPC客户,背包按钮,工作证" tipTitle="请点击客户与之对话,打开背包,取出工作证展示" score=""></operation>
</Step>
<Step id="3008" subProcessName="班前会" isPrecondition="FALSE" precondition="" tipTitle="" tips="清前往现场,由工作负责人检查着装是否规范、个人防护用品是否合格齐备、人员精神状态是否良好">
<operation id="" subProcessStepName="班前会" isPrecondition="" precondition="Site" triggerID="NPC负责人" tipTitle="请点击工作负责人与之对话" score=""></operation>
</Step>
<Step id="3009" subProcessName="接线检查" isPrecondition="FALSE" precondition="" tipTitle="" tips="请检查接线正确性">
<operation id="" subProcessStepName="验电" isPrecondition="" precondition="Site" triggerID="背包按钮,验电笔,验电笔+插座,验电笔+柜门,验电笔+插座" tipTitle="请拿取验电笔进行验电操作" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
<operation id="" subProcessStepName="剪封印" isPrecondition="" precondition="Site" triggerID="柜门,背包按钮,剥线钳,电能表封印1,电能表封印2" tipTitle="请剪开封印,取下电能表盖子" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
<operation id="" subProcessStepName="拆电能表盖子" isPrecondition="" precondition="Site" triggerID="背包按钮,绝缘螺丝刀,电能表盖子固定螺丝1,电能表盖子固定螺丝2,电能表盖子" tipTitle="请卸螺丝,卸下设备" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
<operation id="" subProcessStepName="接线检查" isPrecondition="" precondition="Site" triggerID="检查接线" tipTitle="请点击接线处" score=""></operation>
</Step>
</Process>
<Process id="2004" processName="更换作业" processDes="">
<Step id="3010" subProcessName="断开电源并验电" isPrecondition="FALSE" precondition="" tipTitle="" tips="请先断电,并使用验电笔进行三步验电法">
<operation id="" subProcessStepName="断开电源并验电" isPrecondition="" precondition="Site" triggerID="空开2,背包按钮,验电笔,验电笔+in开关_螺丝1,验电笔+in开关_螺丝2,验电笔+in开关_螺丝3" tipTitle="断电并拿取验电笔验电" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
</Step>
<Step id="3011" subProcessName="核对和抄录计量设备信息" isPrecondition="FALSE" precondition="" tipTitle="" tips="请在拆表前记录并保存当前示数,并核对电能表铭牌内容和有效检验合格标志">
<operation id="" subProcessStepName="核对和抄录计量设备信息" isPrecondition="" precondition="Site" triggerID="电能表铭牌" tipTitle="点击记录" score=""></operation>
</Step>
<Step id="3012" subProcessName="拆除电能计量装置" isPrecondition="FALSE" precondition="" tipTitle="" tips="请按要求拆除电能计量装置">
<operation id="" subProcessStepName="拆除电能计量螺丝" isPrecondition="" precondition="Site" triggerID="背包按钮,
绝缘螺丝刀,
A_in_螺丝up,A_in_螺丝down,A_in_线,
B_in_螺丝up,B_in_螺丝down,B_in_线,
C_in_螺丝up,C_in_螺丝down,C_in_线,
A_out_螺丝up,A_out_螺丝down,A_out_线,
B_out_螺丝up,B_out_螺丝down,B_out_线,
C_out_螺丝up,C_out_螺丝down,C_out_线,
零_地_螺丝up,零_地_螺丝down,零_地_线,
零_out_螺丝up,零_out_螺丝down,零_out_线,
电能表拆装螺丝1,电能表拆装螺丝2" tipTitle="请点击拆卸正确螺丝和电线" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
<operation id="" subProcessStepName="拆除电能计量装置" isPrecondition="" precondition="Site" triggerID="电能表区域碰撞" tipTitle="请拆除设备" score=""></operation>
</Step>
<Step id="3013" subProcessName="安装电能表" isPrecondition="FALSE" precondition="" tipTitle="" tips="请按要求安装电能表">
<operation id="" subProcessStepName="拿取安装电能表" isPrecondition="" precondition="Site" triggerID="背包按钮,三相四线电能表,电能表区域碰撞" tipTitle="请打开背包拿取设备" score=""></operation>
<operation id="" subProcessStepName="安装电能表" isPrecondition="" precondition="Site" triggerID="背包按钮,
绝缘螺丝刀,
电能表拆装螺丝2,电能表拆装螺丝1,
零_out_线,零_out_螺丝up,零_out_螺丝down,
零_地_线,零_地_螺丝up,零_地_螺丝down,
C_out_线,C_out_螺丝up,C_out_螺丝down,
B_out_线,B_out_螺丝up,B_out_螺丝down,
A_out_线,A_out_螺丝up,A_out_螺丝down,
C_in_线,C_in_螺丝up,C_in_螺丝down,
B_in_线,B_in_螺丝up,B_in_螺丝down,
A_in_线,A_in_螺丝up,A_in_螺丝down" tipTitle="请点击正确安装螺丝和电线" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
</Step>
<Step id="3014" subProcessName="安装检查" isPrecondition="FALSE" precondition="" tipTitle="" tips="请检查接线是否正确">
<operation id="" subProcessStepName="安装检查" isPrecondition="" precondition="Site" triggerID="检查接线" tipTitle="请点击接线处" score=""></operation>
</Step>
<Step id="3015" subProcessName="现场通电及检查" isPrecondition="FALSE" precondition="" tipTitle="" tips="请按要求进行通电及检查">
<operation id="" subProcessStepName="现场通电" isPrecondition="" precondition="Site" triggerID="空开2" tipTitle="请合上空开" score=""></operation>
<operation id="" subProcessStepName="现场检查通电" isPrecondition="" precondition="Site" triggerID="背包按钮,验电笔,验电笔+A_in_螺丝up,验电笔+B_in_螺丝up,验电笔+C_in_螺丝up" tipTitle="请拿出验电笔检查" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
<operation id="" subProcessStepName="上盖子" isPrecondition="" precondition="Site" triggerID="电能表盖子" tipTitle="请安装电能表盖子" score=""></operation>
<operation id="" subProcessStepName="上盖子螺丝" isPrecondition="" precondition="Site" triggerID="背包按钮,绝缘螺丝刀,电能表盖子固定螺丝2,电能表盖子固定螺丝1" tipTitle="请点击正确螺丝" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
</Step>
<Step id="3016" subProcessName="实施封印" isPrecondition="FALSE" precondition="" tipTitle="" tips="请对电能表、计量箱(柜)加封">
<operation id="" subProcessStepName="实施封印" isPrecondition="" precondition="Site" triggerID="背包按钮,盒装封印,电能表盖子固定螺丝1,电能表盖子固定螺丝2" tipTitle="请加装封印" score=""></operation>
<operation id="" subProcessStepName="收回工具" isPrecondition="" precondition="Site" triggerID="收回工具" tipTitle="请收回工具" score=""></operation>
</Step>
<Step id="3017" subProcessName="填写告知单" isPrecondition="FALSE" precondition="" tipTitle="" tips="请填写正确的结果告知单">
<operation id="" subProcessStepName="填写告知单" isPrecondition="" precondition="Site" triggerID="告知单按钮" tipTitle="请填写任务单" score=""></operation>
</Step>
</Process>
<Process id="2005" processName="收工" processDes="">
<Step id="3018" subProcessName="清理现场" isPrecondition="FALSE" precondition="" tipTitle="" tips="请把工器具收回背包并清理现场">
<operation id="" subProcessStepName="清理现场" isPrecondition="" precondition="Site" triggerID="垃圾" tipTitle="请清理现场" score=""></operation>
</Step>
</Process>
</Subject>>
</TB_System>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: aa2994337fc9ae642a0b66e88d08bc61
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<root>
<DeviceType id="20001" deviceTypeName=""></DeviceType>
<DeviceType id="20002" deviceTypeName="计量装置轮换"></DeviceType>
<DeviceType id="20003" deviceTypeName="计量装置现场检定工作仿真"></DeviceType>
</root>

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 71e658d78301f3547a189041a416cea6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: