今天要用List來儲存記事本內的對話資料
0.和昨天一樣,先準備好對話.txt
1.寫腳本,先檢查有沒有List的命名空間
using System.Collections.Generic;
2.List
//先宣布一個List,型態為<string>,名字為textList
List<string> textList = new List<string>();
//<string>可以改成其他變數型態,也可以設定成class或struct
//在list中添加元素
textList.Add("0-文字內容");
textList.Add("1-文字內容");
textList.Add("2-文字內容");
textList.Add("3-文字內容");
//讀取list項目
foreach (var line in textList) //一項一項讀取
{
Debug.Log(line);
}
腳本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Control : MonoBehaviour
{
public TextAsset textFile; //導入文件
//new一個List,我取名為textList
private List<string> textList = new List<string>();
void GetTextFormFile(TextAsset file)
{
textList.Clear();//確保List裡面沒有東西
//使用字串陣列儲存文件內容
var lineData = file.text.Split('\n');
//將字串陣列中的每一項添加到List
foreach (var line in lineData) //一項一項讀取字串陣列
{
textList.Add(line);//添加每一項進入List
}
//讀取List內資料
foreach (var line in textList) //一項一項讀取List
{
Debug.Log(line);
}
}
void Start()
{
GetTextFormFile(textFile);
Debug.Log("end");
}
}
3.結果
能分化成更多小數據,之後可以寫成結構或類別
char[] SplitChar ={':','*','\n'};
var lineData = file.text.Split(SplitChar);