using System.IO; using Newtonsoft.Json; using UnityEditor; namespace TriflesGames.SDKManagement.Editor.Configuration { [InitializeOnLoad] public static class SDKManagerConfigContainer { private static SDKManagerConfig __instance; public static SDKManagerConfig Instance => __instance; static SDKManagerConfigContainer() { if (File.Exists(Info.CONFIG_FILE)) { using (var str = new StreamReader(Info.CONFIG_FILE)) { var json = str.ReadToEnd().Trim(); __instance = JsonConvert.DeserializeObject(json); } } else { SaveConfig(new SDKManagerConfig()); } } public static void SaveConfig(SDKManagerConfig config) { var dir = Path.GetDirectoryName(Info.CONFIG_FILE); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); using (var stw = new StreamWriter(Info.CONFIG_FILE)) { var json = JsonConvert.SerializeObject(config); stw.WriteLine(json); } __instance = new SDKManagerConfig(config); } } }