Beispiel #1
0
    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();
    }