예제 #1
0
    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);
    }
예제 #2
0
    //======================================================

    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);
        }
    }