public static void RefreshPreferences() { var path = Path.Combine(Application.streamingAssetsPath, "LogLevelDefaults/"); if (!File.Exists(Path.Combine(path, "custom.json"))) { var data = File.ReadAllText(Path.Combine(path, "default.json")); File.WriteAllText(Path.Combine(path, "custom.json"), data); } loggerPrefs = JsonUtility.FromJson <LoggerPreferences>(File.ReadAllText(Path.Combine(path, "custom.json"))); LogOverrides.Clear(); foreach (LogOverridePref pref in loggerPrefs.logOverrides) { LogOverrides.Add(pref.category, pref.logLevel); } }
private void CheckCategories() { var path = Path.Combine(Application.streamingAssetsPath, "LogLevelDefaults/"); if (!File.Exists(Path.Combine(path, "custom.json"))) { var data = File.ReadAllText(Path.Combine(path, "default.json")); File.WriteAllText(Path.Combine(path, "custom.json"), data); } LoggerPreferences savedPrefs = JsonUtility.FromJson <LoggerPreferences>(File.ReadAllText(Path.Combine(path, "custom.json"))); LoggerPreferences generatedPrefs = new LoggerPreferences(); foreach (Category cat in Enum.GetValues(typeof(Category))) { generatedPrefs.logOverrides.Add(new LogOverridePref() { category = cat }); } if (savedPrefs != null) { foreach (LogOverridePref pref in generatedPrefs.logOverrides) { var index = savedPrefs.logOverrides.FindIndex(x => x.category == pref.category); if (index != -1) { pref.logLevel = savedPrefs.logOverrides[index].logLevel; } } } loggerPrefs = generatedPrefs; Repaint(); }