public SaveNodeContainer GetSaveData() { string filePath; #if UNITY_EDITOR filePath = Application.streamingAssetsPath + "/savedata.json"; #elif UNITY_ANDROID filePath = Application.persistentDataPath + "/savedata.json"; #endif FileInfo info = new FileInfo(filePath); Debug.Log(filePath); SaveNodeContainer result; //ファイル検索 if (!info.Exists) { Debug.LogError("Fileが見つかりません"); return(null); } //ファイルから読み込む using (StreamReader sr = info.OpenText()){ result = JsonUtility.FromJson <SaveNodeContainer>(sr.ReadToEnd()); } //nullなら新しく作っちゃえ if (result == null) { result = new SaveNodeContainer(); } return(result); }
public void Add(SaveNode node) { SaveNodeContainer saveData = GetSaveData(); saveData.saveNode.Add(node); Save(saveData); }
private void Save(SaveNodeContainer data) { string filePath; #if UNITY_EDITOR filePath = Application.streamingAssetsPath + "/savedata.json"; #elif UNITY_ANDROID filePath = Application.persistentDataPath + "/savedata.json"; #endif FileInfo info = new FileInfo(filePath); //データを移す using (StreamWriter sw = info.CreateText()){ sw.WriteLine(JsonUtility.ToJson(data)); } }
// Use this for initialization void Start() { _dietMenuNodePrefab = Resources.Load("Prefabs/DietMenuNode") as GameObject; //必用分だけインスタンス SaveNodeContainer saveData = MenuManager.Instance().Save.GetSaveData(); if (saveData.saveNode.Count != 0) { foreach (SaveNode node in saveData.saveNode) { GameObject ins = (GameObject)Instantiate(_dietMenuNodePrefab, Vector3.zero, Quaternion.identity); ins.GetComponent <DietMenuNode>().AssignText(node); ins.transform.SetParent(Content.transform); ins.transform.localScale = Vector3.one; } } }
public void Delete(SaveNode node) { SaveNodeContainer saveData = GetSaveData(); //削除 if (saveData.saveNode.Count != 0) { int count = 0; foreach (SaveNode data in saveData.saveNode) { if (data.foodName == node.foodName && data.menu == node.menu) { saveData.saveNode.RemoveAt(count); Debug.Log("データを削除しました。"); //セーブ Save(saveData); return; } count++; } } Debug.Log("データの削除ができませんでした。"); }