Example #1
0
    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);
    }
Example #2
0
    public void Add(SaveNode node)
    {
        SaveNodeContainer saveData = GetSaveData();

        saveData.saveNode.Add(node);
        Save(saveData);
    }
Example #3
0
    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));
        }
    }
Example #4
0
    // 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;
            }
        }
    }
Example #5
0
    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("データの削除ができませんでした。");
    }