private void LoadPreferences() { var personalPrefsData = EditorPrefs.GetString(PERSONAL_PREFERENCES_KEY, string.Empty); if (!string.IsNullOrEmpty(personalPrefsData)) { PersonalPrefs = JsonUtility.FromJson <PersonalPreferences>(personalPrefsData); } else { PersonalPrefs = new PersonalPreferences(); #if UNITY_EDITOR_WIN PersonalPrefs.ContextMenusClient = ContextMenusClient.TortoiseSVN; #else PersonalPrefs.ContextMenusClient = ContextMenusClient.SnailSVN; #endif } if (File.Exists(PROJECT_PREFERENCES_PATH)) { ProjectPrefs = JsonUtility.FromJson <ProjectPreferences>(File.ReadAllText(PROJECT_PREFERENCES_PATH)); m_ProjectPrefsLastModifiedTime = File.GetLastWriteTime(PROJECT_PREFERENCES_PATH).Ticks; } else { ProjectPrefs = new ProjectPreferences(); m_ProjectPrefsLastModifiedTime = 0; } }
public void SavePreferences(PersonalPreferences personalPrefs, ProjectPreferences projectPrefs) { PersonalPrefs = personalPrefs.Clone(); ProjectPrefs = projectPrefs.Clone(); EditorPrefs.SetString(PERSONAL_PREFERENCES_KEY, JsonUtility.ToJson(PersonalPrefs)); File.WriteAllText(PROJECT_PREFERENCES_PATH, JsonUtility.ToJson(ProjectPrefs, true)); SVNContextMenusManager.SetupContextType(PersonalPrefs.ContextMenusClient); PreferencesChanged?.Invoke(); }
private void LoadPreferences() { var personalPrefsData = EditorPrefs.GetString(PERSONAL_PREFERENCES_KEY, string.Empty); if (!string.IsNullOrEmpty(personalPrefsData)) { PersonalPrefs = JsonUtility.FromJson <PersonalPreferences>(personalPrefsData); } else { PersonalPrefs = new PersonalPreferences(); #if UNITY_EDITOR_WIN PersonalPrefs.ContextMenusClient = ContextMenusClient.TortoiseSVN; #else PersonalPrefs.ContextMenusClient = ContextMenusClient.SnailSVN; #endif } if (File.Exists(PROJECT_PREFERENCES_PATH)) { ProjectPrefs = JsonUtility.FromJson <ProjectPreferences>(File.ReadAllText(PROJECT_PREFERENCES_PATH)); } else { ProjectPrefs = new ProjectPreferences(); } LoadTextures(); // If WiseSVN was just added to the project, Unity won't manage to load the textures the first time. Try again next frame. if (FileStatusIcons[(int)VCFileStatus.Added].image == null) { EditorApplication.CallbackFunction reloadTextures = null; reloadTextures = () => { EditorApplication.update -= reloadTextures; LoadTextures(); }; EditorApplication.update += reloadTextures; } }