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