public static List <T> Load <T>() where T : new() { string[] names = (typeof(T)).ToString().Split('.'); string filename = names[names.Length - 1]; TextAsset text = Resources.Load(GameConst.GetConfigPath() + filename) as TextAsset; byte[] data = GameCommon.UnGZip(text.bytes); List <object> datalist = (List <object>)GameCommon.DeserializeObject(data); List <T> list = new List <T>(); for (int i = 0; i < datalist.Count; i++) { list.Add((T)datalist[i]); } return(list); }
//====================================================== public void LoadData() { string filepath = GameConst.GetPersistentDataPath(GameConst.userDataFileName); byte[] gzipdata = GameCommon.ReadByteToFile(filepath); UserDataMode userdata; if (gzipdata == null) { userdata = new UserDataMode(); CopyData(userdata); SaveData(); } else { byte[] data = GameCommon.UnGZip(gzipdata); userdata = (UserDataMode)GameCommon.DeserializeObject(data); CopyData(userdata); } }