public static T GetOrLoadOrCreate <T>(string fileName, T defaultFileSaveData = default(T)) { Debug.Log("FileSaveManager: GetOrLoadOrCreate[{0}]".FormatWith(fileName)); if (!FileSaveContainers.Has(fileName)) { var fileData = FileSaveUtils.Load <T>(fileName); if (fileData == null) { fileData = defaultFileSaveData; Create(fileName, fileData); } else { var fileSaveContainer = new FileSaveContainer { FileName = fileName, Data = fileData, DataType = typeof(T) }; FileSaveContainers.Set(fileSaveContainer.FileName, fileSaveContainer); } } return((T)FileSaveContainers.Get(fileName).Data); }
public static T Load <T>(string fileName) { Debug.Log("FileSaveManager: Load[{0}]".FormatWith(fileName)); if (!FileSaveContainers.Has(fileName)) { var fileData = FileSaveUtils.Load <T>(fileName); if (fileData == null) { return(default(T)); } var fileSaveContainer = new FileSaveContainer { FileName = fileName, Data = fileData, DataType = typeof(T) }; FileSaveContainers.Set(fileSaveContainer.FileName, fileSaveContainer); } return((T)FileSaveContainers.Get(fileName).Data); }