帮我实现一个unity读取表格数据的代码
时间: 2023-05-12 11:07:08 浏览: 57
当然可以,以下是一个简单的Unity读取表格数据的代码示例:
```csharp
using UnityEngine;
using System.Collections.Generic;
using System.IO;
public class TableReader : MonoBehaviour {
public TextAsset tableFile;
private Dictionary<string, Dictionary<string, string>> tableData;
void Awake() {
tableData = new Dictionary<string, Dictionary<string, string>>();
string[] lines = tableFile.text.Split('\n');
string[] headers = lines[0].Split(',');
for (int i = 1; i < lines.Length; i++) {
string[] values = lines[i].Split(',');
Dictionary<string, string> row = new Dictionary<string, string>();
for (int j = 0; j < headers.Length; j++) {
row.Add(headers[j], values[j]);
}
tableData.Add(values[0], row);
}
}
public string GetValue(string key, string field) {
return tableData[key][field];
}
}
```
这个代码可以读取一个CSV格式的表格文件,将每一行数据存储为一个字典,然后将所有行的字典存储为一个字典,以行的第一个字段作为键值。你可以在Awake()函数中调用GetValue()函数来获取表格中的数据。例如:
```csharp
TableReader tableReader = GetComponent<TableReader>();
string value = tableReader.GetValue("1", "name");
Debug.Log(value);
```
这个代码会输出表格中第一行的"name"字段的值。