UnityにJSONで複雑な情報記録2
Dictionaryの中にListを入れることで解決をはかってみる実験
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;//必ず必要
public class dicPractice : MonoBehaviour {
public GameObject ballPre;//ボールプレファブ用
public InputField numInput;//インプットフィールド用
Dictionary<int, List<string>> timeList1;//多重化
List<string> tempList ;//テンポラリ用のList
void Start () {
//Dictionary,Listの追加
timeList1 = new Dictionary<int, List<string>> ();
tempList = new List<string>();
//json用オブジェクトを作成
myData jdata = new myData();
//キャラ10体作成
for (int i = 0; i < 10; i++) {
GameObject go = Instantiate (ballPre, new Vector3 (i * 2.0f, 0, 0), Quaternion.identity) as GameObject;
string myAIname = "AI" + i.ToString ();
go.name = myAIname;
//json化準備
jdata.id = i;
jdata.name = myAIname;
jdata.posx = go.transform.position.x;
jdata.posy = go.transform.position.y;
jdata.posz = go.transform.position.z;
jdata.time = i * 10;//dummy data
string json = JsonUtility.ToJson (jdata);//オブジェクトをJSON文字列に変更
tempList.Add (json);//LISTにJSONを追加
}
timeList1.Add (0, tempList);//このゼロはシーン番号を想定中いずれ,変数で増やす
}
//番号で表示
public void numDel(){
int objNum = int.Parse (numInput.text);//インプットフィールドで受け取った番号をintに変換
List<string> temp2List = new List<string> ();//一時的なList作成
temp2List = timeList1 [0];//シーン番号0のJSONをLISTに読み込む
var myObject = JsonUtility.FromJson<myData>(temp2List [objNum]);//シーンゼロのobjNum番のJSONのみをオブジェクトに変換
Debug.Log ("X=" + myObject.posx);//デバッグ用
Debug.Log ("Z=" + myObject.posz);
Debug.Log ("name=" + myObject.name);
Debug.Log ("time=" + myObject.time);
}
}
シーン番号を変数化し,countで長さ出して全部呼び出して再配置するのと,記録するのを作る
あれ,,記録するために,も一個Dictionaryが必要かな?記録する対象を指定するのに使うために
