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 bool Create <T>(string fileName, T fileData) { Debug.Log("FileSaveManager: Create[{0}]".FormatWith(fileName)); var fileSaveContainer = new FileSaveContainer { FileName = fileName, Data = fileData, DataType = typeof(T) }; FileSaveContainers.Set(fileSaveContainer.FileName, fileSaveContainer); return(FileSaveUtils.Save(fileSaveContainer.FileName, fileSaveContainer.Data, fileSaveContainer.DataType)); }
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); }