summaryrefslogtreecommitdiff
path: root/Thronefall_1_0/Thronefall/I2.Loc/PersistentStorage.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Thronefall_1_0/Thronefall/I2.Loc/PersistentStorage.cs')
-rw-r--r--Thronefall_1_0/Thronefall/I2.Loc/PersistentStorage.cs104
1 files changed, 104 insertions, 0 deletions
diff --git a/Thronefall_1_0/Thronefall/I2.Loc/PersistentStorage.cs b/Thronefall_1_0/Thronefall/I2.Loc/PersistentStorage.cs
new file mode 100644
index 0000000..37854fd
--- /dev/null
+++ b/Thronefall_1_0/Thronefall/I2.Loc/PersistentStorage.cs
@@ -0,0 +1,104 @@
+namespace I2.Loc;
+
+public static class PersistentStorage
+{
+ public enum eFileType
+ {
+ Raw,
+ Persistent,
+ Temporal,
+ Streaming
+ }
+
+ private static I2CustomPersistentStorage mStorage;
+
+ public static void SetSetting_String(string key, string value)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ mStorage.SetSetting_String(key, value);
+ }
+
+ public static string GetSetting_String(string key, string defaultValue)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ return mStorage.GetSetting_String(key, defaultValue);
+ }
+
+ public static void DeleteSetting(string key)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ mStorage.DeleteSetting(key);
+ }
+
+ public static bool HasSetting(string key)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ return mStorage.HasSetting(key);
+ }
+
+ public static void ForceSaveSettings()
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ mStorage.ForceSaveSettings();
+ }
+
+ public static bool CanAccessFiles()
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ return mStorage.CanAccessFiles();
+ }
+
+ public static bool SaveFile(eFileType fileType, string fileName, string data, bool logExceptions = true)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ return mStorage.SaveFile(fileType, fileName, data, logExceptions);
+ }
+
+ public static string LoadFile(eFileType fileType, string fileName, bool logExceptions = true)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ return mStorage.LoadFile(fileType, fileName, logExceptions);
+ }
+
+ public static bool DeleteFile(eFileType fileType, string fileName, bool logExceptions = true)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ return mStorage.DeleteFile(fileType, fileName, logExceptions);
+ }
+
+ public static bool HasFile(eFileType fileType, string fileName, bool logExceptions = true)
+ {
+ if (mStorage == null)
+ {
+ mStorage = new I2CustomPersistentStorage();
+ }
+ return mStorage.HasFile(fileType, fileName, logExceptions);
+ }
+}