準備
格納したいデータ型
using System;
using UnityEngine;
[Serializable]
public class Data
{
public int id
public string name
}
上記データ型を保持するListクラス
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class DataList : ScriptableObject
{
public List<AllDatayData>list = new List<Data>();
}
項目 | ||
---|---|---|
[CreateAssetMenu] | Projectwindowから右クリックでCreateを選んだ際に作成したクラスが表示されるようになる | |
[ScriptableObject] | クラスをアセットデータとして利用できるもの |
データをセット
- Projectwindowから右クリックでCreateを選択し、作成したScriptableObjectクラスのアセットを作成する
- データを入力する
使い方1
使いたいクラス内のメンバに宣言し、上記で作成したScriptableObjectクラスのアセットをUnity上でアタッチする。
public DataList datalist;
//例 名前を取得
string name = datalist[0].name;
使い方2
リソースから直接取得
DataList datalist = Resources.Load<DataList>("src/DataTable");
string name = datalist[0].name;
パスの指定の注意点
例) 右クリックで以下ののパスを取得した場合の指定方法
Assets/Resources/src/DataTable.asset
指定
src/DataTable