78 lines
1.7 KiB
C#
78 lines
1.7 KiB
C#
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
//============================================================
|
||
//支持中文,文件使用UTF-8编码
|
||
//@author #AUTHOR#
|
||
//@create #CREATEDATE#
|
||
//@company #COMPANY#
|
||
//
|
||
//@description:
|
||
//============================================================
|
||
[CreateAssetMenu(fileName = "DeviceData", menuName = "DataSheet/DeviceData")]
|
||
public class SearchData : ScriptableObject
|
||
{
|
||
[SerializeField]
|
||
public List<DeviceData> devices = new List<DeviceData>();
|
||
public string path;
|
||
public string sheetName;
|
||
[ContextMenu("set")]
|
||
public void SetData()
|
||
{
|
||
devices.Clear();
|
||
devices = ExcelUtil.GetAllDeviceInfo(path, sheetName);
|
||
}
|
||
|
||
|
||
public List<DeviceData> FuzzySearch(string name)
|
||
{
|
||
List<DeviceData> temp = new List<DeviceData>();
|
||
|
||
if (string.IsNullOrEmpty(name)) return null;
|
||
|
||
for (int i = 0; i < devices.Count; i++)
|
||
{
|
||
if (devices[i].ID.Contains(name) || devices[i].deviceType.Contains(name) || devices[i].deviceNum.Contains(name))
|
||
{
|
||
temp.Add(devices[i]);
|
||
}
|
||
}
|
||
return temp;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
[Serializable]
|
||
public class DeviceData
|
||
{
|
||
/// <summary>
|
||
/// 设备编号
|
||
/// </summary>
|
||
public string ID;
|
||
/// <summary>
|
||
/// 设备类型
|
||
/// </summary>
|
||
public string deviceType;
|
||
/// <summary>
|
||
/// 生产厂家
|
||
/// </summary>
|
||
public string manufacturer;
|
||
/// <summary>
|
||
/// 设备编号
|
||
/// </summary>
|
||
public string deviceNum;
|
||
/// <summary>
|
||
/// 是否在机柜中
|
||
/// </summary>
|
||
public string isInCabinet;
|
||
/// <summary>
|
||
/// 设备所占U位
|
||
/// </summary>
|
||
public string uPos;
|
||
}
|