private bool drawComponentCheckBox(string label, QSetting setting)
        {
            indentLevel += 8;

            Rect rect = getControlRect(0, 28, 0, 0);

            float rectWidth = rect.width;
            bool  isChecked = QSettings.getInstance().get <bool>(setting);

            rect.x     -= 1;
            rect.y     += 7;
            rect.width  = 14;
            rect.height = 14;

            if (GUI.Button(rect, isChecked ? checkBoxChecked : checkBoxUnchecked, GUIStyle.none))
            {
                QSettings.getInstance().set(setting, !isChecked);
            }

            rect.x     += 14 + 10;
            rect.width  = rectWidth - 14 - 8;
            rect.y     -= 1;
            rect.height = 20;

            GUI.Label(rect, label);

            indentLevel -= 8;

            return(isChecked);
        }
        private bool drawCheckBoxRight(string label, QSetting setting)
        {
            Rect rect      = getControlRect(0, 18, 31, 6);
            bool result    = false;
            bool isChecked = QSettings.getInstance().get <bool>(setting);

            float tempX = rect.x;

            rect.x     += rect.width - 14;
            rect.y     += 1;
            rect.width  = 14;
            rect.height = 14;

            if (GUI.Button(rect, isChecked ? checkBoxChecked : checkBoxUnchecked, GUIStyle.none))
            {
                QSettings.getInstance().set(setting, !isChecked);
                result = true;
            }

            rect.width  = rect.x - tempX - 4;
            rect.x      = tempX;
            rect.y     -= 1;
            rect.height = 18;

            GUI.Label(rect, label);

            return(result);
        }
        private bool drawCheckBoxRight(Rect rect, QSetting setting, string label)
        {
            bool isChecked = QSettings.getInstance().get <bool>(setting);

            float tempX = rect.x;

            rect.x     += rect.width - 14;
            rect.y     += 5;
            rect.width  = 14;
            rect.height = 14;

            if (GUI.Button(rect, isChecked ? checkBoxChecked : checkBoxUnchecked, GUIStyle.none))
            {
                QSettings.getInstance().set(setting, !isChecked);
            }

            rect.width  = rect.x - tempX - 4;
            rect.x      = tempX;
            rect.y     -= 1;
            rect.height = 20;

            GUI.Label(rect, label);

            return(isChecked);
        }
Example #4
0
        public void removeEventListener(QSetting setting, QSettingChangedHandler handler)
        {
            int settingId = (int)setting;

            if (settingChangedHandlerList.ContainsKey(settingId) && settingChangedHandlerList[settingId] != null)
            {
                settingChangedHandlerList[settingId] -= handler;
            }
        }
Example #5
0
        public static void saveTagTextureList(QSetting setting, List <QTagTexture> tagTextureList)
        {
            string result = "";

            for (int i = 0; i < tagTextureList.Count; i++)
            {
                result += tagTextureList[i].tag + ";" + AssetDatabase.GetAssetPath(tagTextureList[i].texture.GetInstanceID()) + ";";
            }
            QSettings.getInstance().set(setting, result);
        }
Example #6
0
        public static void saveLayerTextureList(QSetting setting, List <QLayerTexture> layerTextureList)
        {
            string result = "";

            for (int i = 0; i < layerTextureList.Count; i++)
            {
                result += layerTextureList[i].layer + ";" + AssetDatabase.GetAssetPath(layerTextureList[i].texture.GetInstanceID()) + ";";
            }
            QSettings.getInstance().set(setting, result);
        }
        private void drawTextField(string label, QSetting setting)
        {
            string currentValue = QSettings.getInstance().get <string>(setting);
            string newValue     = EditorGUI.TextField(getControlRect(0, 16, 31, 6), label, currentValue);

            if (!currentValue.Equals(newValue))
            {
                QSettings.getInstance().set(setting, newValue);
            }
            drawSpace(2);
        }
        private void drawColorPicker(string label, QSetting setting)
        {
            Color currentColor = QSettings.getInstance().getColor(setting);
            Color newColor     = EditorGUI.ColorField(getControlRect(0, 16, 31, 6), label, currentColor);

            if (!currentColor.Equals(newColor))
            {
                QSettings.getInstance().setColor(setting, newColor);
            }
            drawSpace(2);
        }
Example #9
0
        private void drawIntSlider(string label, QSetting setting, int minValue, int maxValue)
        {
            Rect rect         = getControlRect(0, 16, 34, 4);
            int  currentValue = QSettings.getInstance().get <int>(setting);
            int  newValue     = EditorGUI.IntSlider(rect, label, currentValue, minValue, maxValue);

            if (currentValue != newValue)
            {
                QSettings.getInstance().set(setting, newValue);
            }
            drawSpace(2);
        }
Example #10
0
        public void set(QSetting setting, List <QTagTexture> tagTextureList)
        {
            string result = "";

            for (int i = 0; i < tagTextureList.Count; i++)
            {
                result += tagTextureList[i].tag + ";" + AssetDatabase.GetAssetPath(tagTextureList[i].texture.GetInstanceID()) + ";";
            }

            setEditorSetting(setting, result);
            settings[(int)setting] = tagTextureList;
        }
Example #11
0
        private string getSettingName(QSetting setting)
        {
            int    settingId   = (int)setting;
            string settingName = PREFS_PREFIX;

            if (skinDependedSettings.Contains(settingId))
            {
                settingName += EditorGUIUtility.isProSkin ? PREFS_DARK : PREFS_LIGHT;
            }
            settingName += setting.ToString("G");
            return(settingName.ToString());
        }
        private void drawFloatSlider(string label, QSetting setting, float minValue, float maxValue)
        {
            Rect  rect         = getControlRect(0, 16, 31, 6);
            float currentValue = QSettings.getInstance().get <float>(setting);
            float newValue     = EditorGUI.Slider(rect, label, currentValue, minValue, maxValue);

            if (currentValue != newValue)
            {
                QSettings.getInstance().set(setting, newValue);
            }
            drawSpace(2);
        }
Example #13
0
        private void initSetting(QSetting setting, object defaultValue)
        {
            string settingName = getSettingName(setting);

            defaultSettings.Add((int)setting, defaultValue);
            object value = settingsObject.get(settingName, defaultValue);

            if (value == null || value.GetType() != defaultValue.GetType())
            {
                settingsObject.set(settingName, defaultValue);
            }
        }
        private bool drawFoldout(string label, QSetting setting)
        {
            bool foldoutValue    = QSettings.getInstance().get <bool>(setting);
            bool newFoldoutValue = EditorGUI.Foldout(getControlRect(0, 16, 19, 6), foldoutValue, label);

            if (foldoutValue != newFoldoutValue)
            {
                QSettings.getInstance().set(setting, newFoldoutValue);
            }
            drawSpace(2);
            return(newFoldoutValue);
        }
        private Enum drawEnum(string label, QSetting setting, Type enumType)
        {
            Enum currentEnum = (Enum)Enum.ToObject(enumType, QSettings.getInstance().get <int>(setting));
            Enum newEnumValue;

            if (!(newEnumValue = EditorGUI.EnumPopup(getControlRect(0, 16, 31, 6), label, currentEnum)).Equals(currentEnum))
            {
                QSettings.getInstance().set(setting, (int)(object)newEnumValue);
            }
            drawSpace(2);
            return(newEnumValue);
        }
Example #16
0
        // PRIVATE
        private void initSetting(QSetting setting, object defaultValue)
        {
            object value = getEditorSetting(setting, defaultValue);

            if (value != defaultValue && value.GetType() == defaultValue.GetType())
            {
                settings[(int)setting] = value;
            }
            else
            {
                set(setting, defaultValue);
            }
        }
Example #17
0
        public void set <T>(QSetting setting, T value, bool invokeChanger = true)
        {
            int settingId = (int)setting;

            settingsObject.set(getSettingName(setting), value);

            if (invokeChanger && settingChangedHandlerList.ContainsKey(settingId) && settingChangedHandlerList[settingId] != null)
            {
                settingChangedHandlerList[settingId].Invoke();
            }

            EditorApplication.RepaintHierarchyWindow();
        }
Example #18
0
        public void set <T>(QSetting setting, T value)
        {
            int settingId = (int)setting;

            settings[settingId] = value;
            setEditorSetting(setting, value);

            if (settingChangedHandlerList.ContainsKey(settingId) && settingChangedHandlerList[settingId] != null)
            {
                settingChangedHandlerList[settingId].Invoke();
            }

            EditorApplication.RepaintHierarchyWindow();
        }
Example #19
0
 private bool drawFoldout(string label, QSetting setting)
 {
     #if UNITY_2019_1_OR_NEWER
     Rect foldoutRect = getControlRect(0, 16, 19, 6);
     #else
     Rect foldoutRect = getControlRect(0, 16, 22, 6);
     #endif
     bool foldoutValue    = QSettings.getInstance().get <bool>(setting);
     bool newFoldoutValue = EditorGUI.Foldout(foldoutRect, foldoutValue, label);
     if (foldoutValue != newFoldoutValue)
     {
         QSettings.getInstance().set(setting, newFoldoutValue);
     }
     drawSpace(2);
     return(newFoldoutValue);
 }
Example #20
0
        public void addEventListener(QSetting setting, QSettingChangedHandler handler)
        {
            int settingId = (int)setting;

            if (!settingChangedHandlerList.ContainsKey(settingId))
            {
                settingChangedHandlerList.Add(settingId, null);
            }

            if (settingChangedHandlerList[settingId] == null)
            {
                settingChangedHandlerList[settingId] = handler;
            }
            else
            {
                settingChangedHandlerList[settingId] += handler;
            }
        }
Example #21
0
 private void setEditorSetting(QSetting setting, object value)
 {
     if (value is bool)
     {
         EditorPrefs.SetBool(PREFS_PREFIX + setting.ToString("G"), (bool)value);
     }
     else if (value is int)
     {
         EditorPrefs.SetInt(PREFS_PREFIX + setting.ToString("G"), (int)value);
     }
     else if (value is float)
     {
         EditorPrefs.SetFloat(PREFS_PREFIX + setting.ToString("G"), (float)value);
     }
     else if (value is string)
     {
         EditorPrefs.SetString(PREFS_PREFIX + setting.ToString("G"), (string)value);
     }
 }
Example #22
0
 private object getEditorSetting(QSetting setting, object defaultValue)
 {
     if (defaultValue is bool)
     {
         return(EditorPrefs.GetBool(PREFS_PREFIX + setting.ToString("G"), (bool)defaultValue));
     }
     else if (defaultValue is int)
     {
         return(EditorPrefs.GetInt(PREFS_PREFIX + setting.ToString("G"), (int)defaultValue));
     }
     else if (defaultValue is float)
     {
         return(EditorPrefs.GetFloat(PREFS_PREFIX + setting.ToString("G"), (float)defaultValue));
     }
     else if (defaultValue is string)
     {
         return(EditorPrefs.GetString(PREFS_PREFIX + setting.ToString("G"), (string)defaultValue));
     }
     else
     {
         return(defaultValue);
     }
 }
Example #23
0
        public Color getColor(QSetting setting)
        {
            string stringColor = (string)settingsObject.get <string>(getSettingName(setting));

            return(QColorUtils.fromString(stringColor));
        }
Example #24
0
 // PRIVATE
 private void initSetting(QSetting setting, object defaultValueDark, object defaultValueLight)
 {
     skinDependedSettings.Add((int)setting);
     initSetting(setting, EditorGUIUtility.isProSkin ? defaultValueDark : defaultValueLight);
 }
Example #25
0
 public void restore(QSetting setting)
 {
     set(setting, defaultSettings[(int)setting]);
 }
Example #26
0
 // PUBLIC
 public T get <T>(QSetting setting)
 {
     return((T)settings[(int)setting]);
 }
Example #27
0
        public void setColor(QSetting setting, Color color)
        {
            string stringColor = QColorUtils.toString(color);

            set(setting, stringColor);
        }
Example #28
0
 // PUBLIC
 public T get <T>(QSetting setting)
 {
     return((T)settingsObject.get <T>(getSettingName(setting)));
 }