UnityでCSVを読み込むときの軽いメモ

  • 14
    いいね
  • 0
    コメント

Unityで音ゲーを作っていますが、その譜面としてCSVを使っています。
その読み込み方法の個人的なメモです。

前提として、Assets/Resources/CSV下に.csvファイルを配置。

コード
private string musicName; // 読み込む譜面の名前
private string level; // 難易度
private TextAsset csvFile; // CSVファイル
private List<string[]> csvDatas = new List<string[]>(); // CSVの中身を入れるリスト
private int height = 0; // CSVの行数

void Start(){
  musicName = "sample"; // 曲名
  level = "0"; // 難易度
  csvFile = Resources.Load("CSV/" + musicName + level) as TextAsset; /* Resouces/CSV下のCSV読み込み */
  StringReader reader = new StringReader(csvFile.text);

  while(reader.Peek() > -1) {
    string line = reader.ReadLine();
    csvDatas.Add(line.Split(',')); // リストに入れる
    height++; // 行数加算
  }

}

この例では、sample0.csvを読み込み。
将来的に sample0.csv、sample1.csvのように数字で難易度を管理したい。
Resources.LoadでResourcesフォルダ内を探してくれる(?)
CSVを読み込むときに、拡張子(.csv)は書かなくていいみたい。
あとは、

Debug.Log(csvDatas[0][0]);

あたりで、ちゃんと読み込めているか確認すればOK