配置改成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.Generic;
using System.Data.SqlTypes;
using System.Diagnostics;
using UnityEngine;
/// <summary>
@ -20,6 +21,9 @@ public class D_Scheme
public string ToolOrMaterilOrDevice;
public int deviceTypeId;
public string deviceMap;
#endregion
/// <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.Generic;
using System.Diagnostics;
using UnityEngine;
using System.Xml;
using System.IO;
using System.Linq;
/// <summary>
/// 数据管理类
@ -13,29 +15,33 @@ public class DataManager : BaseManager<DataManager>
}
/// <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>
private Dictionary<int, TB_Process> processDic = new Dictionary<int, TB_Process>();
///// <summary>
///// 流程
///// </summary>
//private Dictionary<int, TB_Process> processDic = new Dictionary<int, TB_Process>();
/// <summary>
/// 子流程
/// </summary>
private Dictionary<int, TB_SubProcess> subProcessDic = new Dictionary<int, TB_SubProcess>();
///// <summary>
///// 子流程
///// </summary>
//private Dictionary<int, TB_SubProcess> subProcessDic = new Dictionary<int, TB_SubProcess>();
/// <summary>
/// 子流程步骤
/// </summary>
private Dictionary<int, TB_SubProcessStep> subProcessStepDic = new Dictionary<int, TB_SubProcessStep>();
///// <summary>
///// 子流程步骤
///// </summary>
//private Dictionary<int, TB_SubProcessStep> subProcessStepDic = new Dictionary<int, TB_SubProcessStep>();
/// <summary>
/// 虚拟仿真系统
/// </summary>
private Dictionary<int, TB_System> systemDic = new Dictionary<int, TB_System>();
///// <summary>
///// 虚拟仿真系统
///// </summary>
//private Dictionary<int, TB_System> systemDic = new Dictionary<int, TB_System>();
/// <summary>
/// 设备类型
@ -54,13 +60,120 @@ public class DataManager : BaseManager<DataManager>
/// </summary>
public void Init()
{
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;
//设备类型
ReadDeviceType(Application.streamingAssetsPath+ "/Setting/设备类型.xml");
//工具材料
ReadToolAndMaterial(Application.streamingAssetsPath + "/Setting/工具材料.xml");
//科目
Directory.GetFiles(Application.streamingAssetsPath + "/Setting/科目").ToList().ForEach(a =>
{
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()
@ -72,16 +185,18 @@ public class DataManager : BaseManager<DataManager>
/// 获取当前系统所有的方案
/// </summary>
/// <returns></returns>
public List<TB_Scheme> GetAllSchemeName()
public List<D_Scheme> GetAllSchemeName()
{
var allSchemeList = new List<TB_Scheme>();
foreach (var item in schemeDic.Values)
{
if (item.systemId == GameManager.Instance.systemId)
allSchemeList.Add(item);
}
return d_System.subjects;
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>
@ -124,144 +239,148 @@ public class DataManager : BaseManager<DataManager>
/// <returns></returns>
public D_Scheme GetSchemeData(int id)
{
D_Scheme d_Scheme = new D_Scheme();
//获取方案数据
if (schemeDic.ContainsKey(id))
{
d_Scheme.id = schemeDic[id].id;
d_Scheme.schemeName = schemeDic[id].schemeName;
d_Scheme.ToolOrMaterilOrDevice = schemeDic[id].ToolOrMaterilOrDevice;
}
d_Scheme.processes = GetD_Processes(d_Scheme.id);
return d_Scheme;
return d_System.subjects.Find(x => x.id == id);
//D_Scheme d_Scheme = new D_Scheme();
////获取方案数据
//if (schemeDic.ContainsKey(id))
//{
// d_Scheme.id = schemeDic[id].id;
// d_Scheme.schemeName = schemeDic[id].schemeName;
// d_Scheme.ToolOrMaterilOrDevice = schemeDic[id].ToolOrMaterilOrDevice;
//}
//d_Scheme.processes = GetD_Processes(d_Scheme.id);
//return d_Scheme;
}
/// <summary>
/// 根据方案Id 获取流程列表
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
private List<D_Process> GetD_Processes(int schemeId)
{
List<D_Process> d_Processes = new List<D_Process>();
//获取方案流程数据
foreach (var item in processDic.Values)
{
if (item.schemeId == schemeId)
{
D_Process d_Process = new D_Process();
d_Process.id = item.id;
d_Process.processName = item.processName;
int processId = item.id;
d_Process.subProcesses = GetD_SubProcesses(schemeId, processId);
d_Processes.Add(d_Process);
}
}
#region
///// <summary>
///// 根据方案Id 获取流程列表
///// </summary>
///// <param name="schemeId"></param>
///// <returns></returns>
//private List<D_Process> GetD_Processes(int schemeId)
//{
// List<D_Process> d_Processes = new List<D_Process>();
// //获取方案流程数据
// foreach (var item in processDic.Values)
// {
// if (item.schemeId == schemeId)
// {
// D_Process d_Process = new D_Process();
// d_Process.id = item.id;
// d_Process.processName = item.processName;
// int processId = item.id;
// d_Process.subProcesses = GetD_SubProcesses(schemeId, processId);
// d_Processes.Add(d_Process);
// }
// }
return d_Processes;
}
// return d_Processes;
//}
/// <summary>
/// 根据方案Id,流程Id ,获取子流程列表
/// </summary>
/// <param name="schemeId"></param>
/// <param name="processId"></param>
/// <returns></returns>
public List<D_SubProcess> GetD_SubProcesses(int schemeId, int processId)
{
List<D_SubProcess> d_SubProcesses = new List<D_SubProcess>();
foreach (var item in subProcessDic.Values)
{
if (item.schemeId == schemeId && item.processId == processId)
{
D_SubProcess d_SubProcess = new D_SubProcess();
d_SubProcess.id = item.id;
d_SubProcess.schemeId = item.schemeId;
d_SubProcess.processId = item.processId;
d_SubProcess.subProcessName = item.subProcessName;
d_SubProcess.isPrecondition = item.isPrecondition;
d_SubProcess.precondition = item.precondition;
d_SubProcess.tips = item.tips;
int subProcessId = item.id;
d_SubProcess.subProcessStepes = GetD_SubProcessSteps(schemeId, processId, subProcessId);
d_SubProcesses.Add(d_SubProcess);
}
}
///// <summary>
///// 根据方案Id,流程Id ,获取子流程列表
///// </summary>
///// <param name="schemeId"></param>
///// <param name="processId"></param>
///// <returns></returns>
//public List<D_SubProcess> GetD_SubProcesses(int schemeId, int processId)
//{
// List<D_SubProcess> d_SubProcesses = new List<D_SubProcess>();
// foreach (var item in subProcessDic.Values)
// {
// if (item.schemeId == schemeId && item.processId == processId)
// {
// D_SubProcess d_SubProcess = new D_SubProcess();
// d_SubProcess.id = item.id;
// d_SubProcess.schemeId = item.schemeId;
// d_SubProcess.processId = item.processId;
// d_SubProcess.subProcessName = item.subProcessName;
// d_SubProcess.isPrecondition = item.isPrecondition;
// d_SubProcess.precondition = item.precondition;
// d_SubProcess.tips = item.tips;
// int subProcessId = item.id;
// d_SubProcess.subProcessStepes = GetD_SubProcessSteps(schemeId, processId, subProcessId);
// d_SubProcesses.Add(d_SubProcess);
// }
// }
return d_SubProcesses;
}
// return d_SubProcesses;
//}
/// <summary>
/// 根据方案Id,流程Id,子流程Id 获取子流程步骤列表
/// </summary>
/// <param name="schemeId"></param>
/// <param name="processId"></param>
/// <param name="subProcessStepId"></param>
/// <returns></returns>
private List<D_SubProcessStep> GetD_SubProcessSteps(int schemeId, int processId, int subProcessId)
{
List<D_SubProcessStep> d_SubProcessSteps = new List<D_SubProcessStep>();
foreach (var step in subProcessStepDic.Values)
{
if (step.schemeId == schemeId && step.processId == processId && step.subProcessId == subProcessId)
{
D_SubProcessStep d_SubProcessStep = new D_SubProcessStep();
d_SubProcessStep.id = step.id;
d_SubProcessStep.schemeId = step.schemeId;
d_SubProcessStep.processId = step.processId;
d_SubProcessStep.subProcessId = step.subProcessId;
d_SubProcessStep.subProcessStepName = step.subProcessStepName;
d_SubProcessStep.isPrecondition = step.isPrecondition;
d_SubProcessStep.precondition = step.precondition;
d_SubProcessStep.triggerID = step.triggerID;
d_SubProcessStep.tipTitle = step.tipTitle;
d_SubProcessStep.score = step.score;
d_SubProcessSteps.Add(d_SubProcessStep);
}
}
///// <summary>
///// 根据方案Id,流程Id,子流程Id 获取子流程步骤列表
///// </summary>
///// <param name="schemeId"></param>
///// <param name="processId"></param>
///// <param name="subProcessStepId"></param>
///// <returns></returns>
//private List<D_SubProcessStep> GetD_SubProcessSteps(int schemeId, int processId, int subProcessId)
//{
// List<D_SubProcessStep> d_SubProcessSteps = new List<D_SubProcessStep>();
// foreach (var step in subProcessStepDic.Values)
// {
// if (step.schemeId == schemeId && step.processId == processId && step.subProcessId == subProcessId)
// {
// D_SubProcessStep d_SubProcessStep = new D_SubProcessStep();
// d_SubProcessStep.id = step.id;
// d_SubProcessStep.schemeId = step.schemeId;
// d_SubProcessStep.processId = step.processId;
// d_SubProcessStep.subProcessId = step.subProcessId;
// d_SubProcessStep.subProcessStepName = step.subProcessStepName;
// d_SubProcessStep.isPrecondition = step.isPrecondition;
// d_SubProcessStep.precondition = step.precondition;
// d_SubProcessStep.triggerID = step.triggerID;
// d_SubProcessStep.tipTitle = step.tipTitle;
// d_SubProcessStep.score = step.score;
// d_SubProcessSteps.Add(d_SubProcessStep);
// }
// }
return d_SubProcessSteps;
}
// return d_SubProcessSteps;
//}
public List<int> GetSubProcessStepIDByTriggerID(int triggerID)
{
List<TB_SubProcessStep> tb_subProcesssSteps = new List<TB_SubProcessStep>();
List<int> stepIDsTemp = new List<int>();
foreach (var item in subProcessStepDic.Values)
{
if (item.schemeId == GameManager.ProcessMgr.schemeID)
tb_subProcesssSteps.Add(item);
}
foreach (var item in tb_subProcesssSteps)
{
if (string.IsNullOrEmpty(item.triggerID))
{
continue;
}
string[] subProcessStepToolID = item.triggerID.Split(',');
for (int i = 0; i < subProcessStepToolID.Length; i++)
{
if (int.Parse(subProcessStepToolID[i]) == triggerID)
stepIDsTemp.Add(item.id);
}
}
return stepIDsTemp;
}
//public List<int> GetSubProcessStepIDByTriggerID(int triggerID)
//{
// List<TB_SubProcessStep> tb_subProcesssSteps = new List<TB_SubProcessStep>();
// List<int> stepIDsTemp = new List<int>();
// foreach (var item in subProcessStepDic.Values)
// {
// if (item.schemeId == GameManager.ProcessMgr.schemeID)
// tb_subProcesssSteps.Add(item);
// }
// foreach (var item in tb_subProcesssSteps)
// {
// if (string.IsNullOrEmpty(item.triggerID))
// {
// continue;
// }
// string[] subProcessStepToolID = item.triggerID.Split(',');
// for (int i = 0; i < subProcessStepToolID.Length; i++)
// {
// if (int.Parse(subProcessStepToolID[i]) == triggerID)
// stepIDsTemp.Add(item.id);
// }
// }
// return stepIDsTemp;
//}
#endregion
/// <summary>
/// 根据系统Id 获取系统信息
/// </summary>
/// <param name="systemId"></param>
/// <returns></returns>
public TB_System GetSystemInfo(int systemId)
public D_System GetSystemInfo(int systemId)
{
if (systemDic.ContainsKey(systemId))
{
return systemDic[systemId];
}
return d_System;
//if (systemDic.ContainsKey(systemId))
//{
// return systemDic[systemId];
//}
return null;
//return null;
}
/// <summary>
@ -281,13 +400,13 @@ public class DataManager : BaseManager<DataManager>
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public TB_Scheme GetTitleSpriteName(int id)
{
if (schemeDic.ContainsKey(id))
{
return schemeDic[id];
}
//public TB_Scheme GetTitleSpriteName(int id)
//{
// if (schemeDic.ContainsKey(id))
// {
// return schemeDic[id];
// }
return null;
}
// return null;
//}
}

View File

@ -75,11 +75,11 @@ public class UI_LoadingPanel : BasePanel
currentProgress = 0;
targetProgress = 0;
isUpdate = false;
TB_System tB_System = GameManager.DataMgr.GetSystemInfo(GameManager.Instance.systemId);
//print(tB_System);
if (tB_System == null)
D_System system = GameManager.DataMgr.GetSystemInfo(GameManager.Instance.systemId);
if (system == null)
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;
});

View File

@ -9,12 +9,12 @@ using UnityEngine.UI;
public class UI_SelectDevicePanel : BasePanel
{
private List<TB_Scheme> allSchemeName;
//private List<TB_Scheme> allSchemeName;
private Dictionary<int, TB_DeviceType> allDeviceTypes;
public void Init()
{
allSchemeName = GameManager.DataMgr.GetAllSchemeName();
//allSchemeName = GameManager.DataMgr.GetAllSchemeName();
allDeviceTypes = GameManager.DataMgr.GetAllDeviceTypes();
CreatTitleAndBtnItem();
}
@ -23,7 +23,7 @@ public class UI_SelectDevicePanel : BasePanel
{
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就添加唯一标识
{
@ -34,13 +34,11 @@ public class UI_SelectDevicePanel : BasePanel
if (allDeviceTypes.TryGetValue(scheme.deviceTypeId, out TB_DeviceType deviceNameItem))
{
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 =>
{
var deviceItemBtn =
GameManager.ResourcesMgr.Load<GameObject>(Const.UI_Item +
"UI_SelectDevicePanel/deviceItemBtn");
var deviceItemBtn =GameManager.ResourcesMgr.Load<GameObject>(Const.UI_Item +"UI_SelectDevicePanel/deviceItemBtn");
//按钮的父节点是标题的父节点content
deviceItemBtn.transform.parent = titleItem.transform.parent;
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: