예제 #1
0
 public static bool Save <T>(T data) where T : GameData
 {
     try
     {
         var filename = getDataFileName(data.Type, data.Id);
         if (filename == null)
         {
             filename = Path.Combine(DataFolder, data.Type, data.Id + ".json");
         }
         SafeFileReadWrite.Write(filename, JsonConvert.SerializeObject(data, Formatting.Indented));
         return(true);
     }
     catch { return(false); }
 }
예제 #2
0
        public static T Load <T>(string filename) where T : GameData, new()
        {
            var fileId = getDataFileId(filename);

            if (fileId == -1)
            {
                return(new T());
            }

            var filecontent = SafeFileReadWrite.Read(filename);
            var loadedData  = JsonConvert.DeserializeObject <T>(filecontent);

            loadedData.Id = fileId;
            return(loadedData);
        }