123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using System.IO;
- public class StepListProxy : DataProxy
- {
- public List<OperationStepDataInfo> m_StepMsgInfos;
- /// <summary>
- /// 表格名称
- /// </summary>
- string m_TableName;
- /// <summary>
- /// 处理一级和二级对应关系
- /// 注意:(此方法只适用于m_StepMsgInfos不为空的情况)
- /// </summary>
- /// <param name="tableName"></param>OpDataInfo
- public Dictionary<string, List<OperationStepDataInfo>> ProcessingData()
- {
- Dictionary<string, List<OperationStepDataInfo>> tmpDicStepListInfos = new Dictionary<string, List<OperationStepDataInfo>>();
- foreach (var item in m_StepMsgInfos)
- {
- if (!tmpDicStepListInfos.ContainsKey(item.parentStepName)) tmpDicStepListInfos.Add(item.parentStepName, new List<OperationStepDataInfo>());
- tmpDicStepListInfos[item.parentStepName].Add(item);
- }
- return tmpDicStepListInfos;
- }
- /// <summary>
- /// 处理一级和二级对应关系
- /// </summary>
- /// <param name="tableName"></param>OpDataInfo
- public Dictionary<string, List<OperationStepDataInfo>> ProcessingData(List<OperationStepDataInfo> stepListInfos)
- {
- Dictionary<string, List<OperationStepDataInfo>> tmpDicStepListInfos = new Dictionary<string, List<OperationStepDataInfo>>();
- foreach (var item in stepListInfos)
- {
- if (!tmpDicStepListInfos.ContainsKey(item.parentStepName)) tmpDicStepListInfos.Add(item.parentStepName, new List<OperationStepDataInfo>());
- tmpDicStepListInfos[item.parentStepName].Add(item);
- }
- return tmpDicStepListInfos;
- }
- /// <summary>
- /// 根据id获取信息
- /// </summary>
- public OperationStepDataInfo GetOpStepDataInfoById(int operationId)
- {
- return m_StepMsgInfos.Find(t => t.id == operationId.ToString());
- }
- /// <summary>
- /// 通过步骤ID获取对应的二级信息
- /// </summary>
- /// <returns></returns>
- public List<OperationStepDataInfo> GetOneLevelAndSecondLevelOpStepDataInfoByOperationLevelId(int operationId)
- {
- OperationStepDataInfo tmpOperationInfo = m_StepMsgInfos.Find(t => t.id == operationId.ToString());
- if (tmpOperationInfo != null)
- {
- return m_StepMsgInfos.FindAll(t => t.parentStepName == tmpOperationInfo.parentStepName);
- }
- return null;
- }
- /// <summary>
- /// 从Excel文件读取流程信息
- /// </summary>
- /// <param name="tableName">表明</param>
- /// <param name="headCount">表头</param>
- /// <returns></returns>
- public List<OperationStepDataInfo> ReadStepMsgInfoFromTable(string tableName)
- {
- m_TableName = tableName + GlobalConfig.excelSuffix;
- m_StepMsgInfos = new List<OperationStepDataInfo>();
- string tmpPath = System.IO.Path.Combine(GlobalConfig.operateTablePath, m_TableName);
- m_StepMsgInfos = ExcelHelper.ReadInfoFromExcel<OperationStepDataInfo>(tmpPath, 1);
- return m_StepMsgInfos;
- }
- public OperationStepDataInfo GetOperationStepDataInfoById(int id)
- {
- return m_StepMsgInfos.Find(t => int.Parse(t.id) == id);
- }
- public void SetOperationCameraPoseById(int id, Vector3 position, Vector3 eulerAngles)
- {
- OperationStepDataInfo tmpInfo = m_StepMsgInfos.Find(t => int.Parse(t.id) == id);
- tmpInfo.position = LUtilitys.ParseString(position);
- tmpInfo.rotation = LUtilitys.ParseString(eulerAngles);
- }
- /// <summary>
- /// 保存当前数据
- /// </summary>
- public void SaveOperation()
- {
- string tmpPath = Path.Combine(GlobalConfig.operateTablePath, m_TableName);
- ExcelHelper.WriteInfoToExcel<OperationStepDataInfo>(tmpPath, m_StepMsgInfos);
- }
- }
|