WuhuIslandTesting/Library/PackageCache/com.stresslevelzero.marrow.sdk@1.2.0/Scripts/SLZ.Marrow/SLZ.MarrowEditor/SDKProjectPreferences.cs
2025-01-07 02:06:59 +01:00

76 lines
1.8 KiB
C#

#if UNITY_EDITOR
using System.Collections.Generic;
using System.IO;
using SLZ.Marrow;
using UnityEngine;
namespace SLZ.MarrowEditor
{
public static class SDKProjectPreferences
{
private class SerializedPreferences
{
public List<string> _marrowGameInstallPaths = new List<string>();
public bool _loadMarrowGames = false;
}
private static SerializedPreferences _instance = null;
private static string preferencesPath = MarrowSDK.GetLibraryPath("SDKPreferences.json");
public static List<string> MarrowGameInstallPaths
{
get
{
return _instance._marrowGameInstallPaths;
}
}
public static bool LoadMarrowGames
{
get
{
return _instance._loadMarrowGames;
}
set
{
_instance._loadMarrowGames = value;
}
}
public static void LoadFromFile()
{
if (!File.Exists(preferencesPath))
{
CreateFile();
}
string json = File.ReadAllText(preferencesPath);
_instance = JsonUtility.FromJson<SerializedPreferences>(json);
}
public static void SaveToFile()
{
string json = JsonUtility.ToJson(_instance, true);
File.WriteAllText(preferencesPath, json);
}
private static void CreateFile()
{
if (!Directory.Exists(Path.GetDirectoryName(preferencesPath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(preferencesPath));
}
_instance = new SerializedPreferences();
#if false
#endif
#if true
_instance._loadMarrowGames = true;
#endif
SaveToFile();
}
}
}
#endif