Unity制作AVG 01——读取CSV文件

前段时间制作AVG,用CSV来存储剧本,由于csv本质是用逗号分隔的文本文件,所以读取CSV并不需要像读取xlsx用插件。同时使用 csv 也比 txt 的编辑更加友好。

image.png

核心思路

将CSV文件存放在Resources目录下使用Load读取。用换行和逗号来分割成二维数组。再定义一个方法,通过ID和表头来获取指定位置的值。

关键代码

    void ReadMainScenario()
    {
        mainScenarioTA = (TextAsset)Resources.Load("Scenarios/ScenarioMain") as TextAsset;
        string[] lineArray = mainScenarioTA.text.Split('\r');
        mainScenario = new string[lineArray.Length][];
        for (int i = 0; i < lineArray.Length; i++)
        {
            mainScenario[i] = lineArray[i].Split(',');
        }
    }

    string GetValue(int id, string name)
    {
        for (int i = 1; i < mainScenario.Length; i++)
        {
            if (mainScenario[i][0].Length != 1)
            {
                if (int.Parse(mainScenario[i][0]) == id)
                {
                    for (int j = 0; j < mainScenario[i].Length; j++)
                    {
                        if (mainScenario[0][j] == name)
                        {
                            return mainScenario[i][j];
                        }
                    }
                }
            }
        }
        return null;
    }

使用:

string dialogContent = GetValue(77, "内容");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容