스토리지

[3.25] 수정중인 코드 본문

Unity/문제해결

[3.25] 수정중인 코드

ljw4104 2021. 3. 25. 14:29
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Newtonsoft.Json;

namespace Study11
{
    public class DataManager<T>
    {
        private static DataManager<T> instance;
        public Dictionary<int, T> dicData;

        private DataManager()
        {
            this.dicData = new Dictionary<int, T>();
        }

        public static DataManager<T> GetInstance()
        {
            if (DataManager<T>.instance == null)
            {
                DataManager<T>.instance = new DataManager<T>();
            }
            return DataManager<T>.instance;
        }

        public void LoadData(string path)
        {
            var json = File.ReadAllText(path);
            var arr = JsonConvert.DeserializeObject<T[]>(json);
            foreach(var item in arr)
            {
                string[] temp = item.ToString().Split(' ');
                int key = Convert.ToInt32(temp[0]);
                this.dicData.Add(key, item);
            }
        }

        public void PrintData()
        {
            Console.WriteLine("Data Num : {0}\n", dicData.Count);
            foreach(var item in dicData)
            {
                Console.WriteLine(item.Value);
            }
            Console.WriteLine();
        }
    }
}

딕셔너리가 두개가 아니라서 자꾸 충돌이 발생한다...

Comments