using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; public class CameraConfigProxy : DataProxy { private List m_CameraConfigInfos; public override void OnRegister() { InitData(); } public override void OnRemove() { } /// /// 初始化数据 /// private void InitData() { //表格读取 string path = Application.streamingAssetsPath + "/TableData/相机配置.csv"; m_CameraConfigInfos = ReadOperationFromTable(path); } /// /// 获取相机配置数据 /// /// public List GetCameraConfigData() { return m_CameraConfigInfos; } /// /// 从表格读取流程信息 /// /// /// private List ReadOperationFromTable(string path) { List tmpInfos = new List(); using (StreamReader streamReader = new StreamReader(path, System.Text.Encoding.UTF8)) { string tmpOperationInfo = streamReader.ReadToEnd().Trim(); if (tmpOperationInfo.Contains("\r")) tmpOperationInfo = tmpOperationInfo.Replace("\r", ""); string[] tempOperationInfos = tmpOperationInfo.Split('\n'); for (int i = 2; i < tempOperationInfos.Length; i++) { string operationInfo = tempOperationInfos[i]; string[] operationInfoElements = operationInfo.Split(','); CameraConfigInfo tmpInfo = new CameraConfigInfo(); for (int j = 0; j < operationInfoElements.Length; j++) { if (j == 0) tmpInfo.m_ID = int.Parse(operationInfoElements[0]); if (j == 1) tmpInfo.m_EquipmentName = operationInfoElements[1]; if (j == 2) tmpInfo.m_EquipmentUniqueID = int.Parse(operationInfoElements[2]); if (j == 3) tmpInfo.m_CameraInitPosition = GeneralMethod.String2Vector3(operationInfoElements[3],'|'); if (j == 4) tmpInfo.m_CameraInitRotation = GeneralMethod.String2Vector3(operationInfoElements[4],'|'); } tmpInfos.Add(tmpInfo); } } return tmpInfos; } }