public static void OnPreferenceGUI() { GUILayout.BeginHorizontal(); if (_Instance == null || GUILayout.Button("Reload")) { _Instance = LoadFromConfig(); } if (GUILayout.Button("Save")) { SaveConfig(_Instance); } if (GUILayout.Button("Add")) { _Instance.AddFolderConfig("", "", null); } GUILayout.EndHorizontal(); foreach (Alpha1316FolderConfig folder in _Instance.FolderConfigs) { GUILayout.Box("", GUILayout.ExpandWidth(true), GUILayout.Height(1)); folder.SrcFolder = EditorGUILayout.TextField("Source", folder.SrcFolder); folder.DestFolder = EditorGUILayout.TextField("Destination", folder.DestFolder); if (GUILayout.Button("Remove")) { _Instance.RemoveFolderConfig(folder); } } }
private static Alpha1316Preference LoadFromConfig() { Alpha1316Preference result = null; string content = Util.LoadStringFromFile(Preference_Path, true); if (content != null) { try { result = JsonUtility.FromJson <Alpha1316Preference>(content); } catch (Exception e) { Log.Error("Failed to load configuration: {0} -> {1}", Preference_Path, e); } } if (result == null) { result = new Alpha1316Preference(); } return(result); }
private static void SaveConfig(Alpha1316Preference instance) { string content = JsonUtility.ToJson(instance); Util.WriteStringToFile(Preference_Path, content); }