Example #1
0
        public static void ChangingClassValuesSaves()
        {
            s_StaticClassUser.Reset();
            s_StaticClassProject.Reset();

            Assert.AreEqual(DummyClass.defaultValue, (DummyClass)s_StaticClassUser);
            Assert.AreEqual(DummyClass.defaultValue, (DummyClass)s_StaticClassProject);

            var userReference    = s_StaticClassUser.value;
            var projectReference = s_StaticClassProject.value;

            userReference.intValue    = 200;
            projectReference.intValue = 200;

            s_StaticClassProject.ApplyModifiedProperties();
            s_StaticClassUser.ApplyModifiedProperties();

            Assert.IsTrue(ReferenceEquals(s_StaticClassProject.value, projectReference));
            Assert.IsTrue(ReferenceEquals(s_StaticClassUser.value, userReference));

            Assert.AreEqual(200, s_StaticClassUser.value.intValue, "After ApplyModifiedProperties");
            Assert.AreEqual(200, s_StaticClassProject.value.intValue, "After ApplyModifiedProperties");

            settings.Save();

            var instance = new Settings(k_PackageName);

            Assert.AreEqual(200, instance.Get <DummyClass>(s_StaticClassUser.key, s_StaticClassUser.scope).intValue, "Reload Settings Instance");
            Assert.AreEqual(200, instance.Get <DummyClass>(s_StaticClassProject.key, s_StaticClassProject.scope).intValue, "Reload Settings Instance");
        }
 private static void ColorDefaults(string searchContext)
 {
     EditorGUI.BeginChangeCheck();
     GUILayout.Space(2f);
     colorList.DoLayoutList();
     SettingsGUILayout.DoResetContextMenuForLastRect(uvColorDefaults);
     if (EditorGUI.EndChangeCheck())
     {
         uvColorDefaults.ApplyModifiedProperties();
     }
 }
        private static void GraphZoomSettings(string searchContext)
        {
            EditorGUI.BeginChangeCheck();

            zoomSpeed.value = SettingsGUILayout.SettingsSlider("Speed", zoomSpeed, -1f, 1f, searchContext);
            minZoom.value   = SettingsGUILayout.SettingsSlider("Minimum", minZoom, 0.01f, 1f, searchContext);
            maxZoom.value   = SettingsGUILayout.SettingsSlider("Maximum", maxZoom, 1f, 100f, searchContext);

            if (EditorGUI.EndChangeCheck())
            {
                zoomSpeed.ApplyModifiedProperties();
                minZoom.ApplyModifiedProperties();
                maxZoom.ApplyModifiedProperties();
            }
        }
        public static void ChangingClassValuesSaves()
        {
            try
            {
                s_StaticClassUser.Reset();
                s_StaticClassProject.Reset();

                Assert.AreEqual(DummyClass.defaultValue, (DummyClass)s_StaticClassUser);
                Assert.AreEqual(DummyClass.defaultValue, (DummyClass)s_StaticClassProject);

                var userReference    = s_StaticClassUser.value;
                var projectReference = s_StaticClassProject.value;

                userReference.intValue    = 200;
                projectReference.intValue = 200;

                s_StaticClassProject.ApplyModifiedProperties();
                s_StaticClassUser.ApplyModifiedProperties();

                Assert.IsTrue(ReferenceEquals(s_StaticClassProject.value, projectReference));
                Assert.IsTrue(ReferenceEquals(s_StaticClassUser.value, userReference));

                Assert.AreEqual(200, s_StaticClassUser.value.intValue, "After ApplyModifiedProperties");
                Assert.AreEqual(200, s_StaticClassProject.value.intValue, "After ApplyModifiedProperties");

                settings.Save();

                var instance = new Settings(new ISettingsRepository[]
                {
                    new ProjectSettingsRepository(k_SettingsTestsPath),
                    new UserSettingsRepository()
                });

                Assert.AreEqual(200, instance.Get <DummyClass>(s_StaticClassUser.key, s_StaticClassUser.scope).intValue, "Reload Settings Instance");
                Assert.AreEqual(200, instance.Get <DummyClass>(s_StaticClassProject.key, s_StaticClassProject.scope).intValue, "Reload Settings Instance");
            }
            catch (Exception e)
            {
                Debug.LogError(e.ToString());
            }
        }