using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using System.IO; using System.Text; using Newtonsoft.Json; namespace PomellatoPomPomDotHeartbeat { /// /// 通常来说设置产品的VID/PID就足以识别硬件了 /// 填入序列号将导致识别唯一 /// public class SerialPortUtilityProStorage : MonoBehaviour { public static SerialPortUtilityProStorage Instance; #region Path private string ssupSettingPath = Application.streamingAssetsPath + "/SerialPortUtilityProSetting.json"; #endregion #region Value public List DeviceInfoDatas; #endregion // ================================================== private void Awake() { Instance = this; } private void Start() { Init(); } // ================================================== private void Init() { string ssupSettingJson = File.ReadAllText(ssupSettingPath, Encoding.UTF8); Dictionary> dic = JsonConvert.DeserializeObject>>(ssupSettingJson); List DeviceInfos = dic["DeviceInfo"]; for (int i = 0; i < DeviceInfos.Count; i++) { DeviceInfoData tempDID = new DeviceInfoData(); string[] infoSlice = DeviceInfos[i].Split('_'); tempDID.VendorID = infoSlice[0]; tempDID.ProductID = infoSlice[1]; tempDID.SerialNumber = infoSlice[2]; DeviceInfoDatas.Add(tempDID); } return; } public string GetDeviceVendorID(int index) { return DeviceInfoDatas[index].VendorID; } public string GetDeviceProductID(int index) { return DeviceInfoDatas[index].ProductID; } public string GetDeviceSerialNumber(int index) { return DeviceInfoDatas[index].SerialNumber; } } [Serializable] public class DeviceInfoData { public string VendorID; public string ProductID; public string SerialNumber; } }