Ejemplo n.º 1
0
        protected virtual void DrawSettings(bool isBase)
        {
            List <QuickSetting> settings = isBase ? QuickPlayerPrefs.GetSettingsBase() : QuickPlayerPrefs.GetSettingsCustom();

            if (settings.Count == 0)
            {
                return;
            }

            EditorGUI.indentLevel++;

            //Draw the "Name Value" column
            GUILayout.BeginVertical();
            EditorGUILayout.LabelField("Name", "Value");
            foreach (QuickSetting s in settings)
            {
                GUILayout.BeginHorizontal();
                string key      = s.GetKey();
                string typeName = s.GetTypeName();
                QuickPlayerPrefs.SetValue(key, DrawPlayerPref(key, typeName));
                if (!isBase)
                {
                    if (QuickBaseEditor.DrawButton("-", GUILayout.Width(32)))
                    {
                        QuickPlayerPrefs.DeleteSetting(key);
                        break;
                    }
                }
                GUILayout.EndHorizontal();
            }
            GUILayout.EndVertical();

            EditorGUI.indentLevel--;
        }
Ejemplo n.º 2
0
        protected virtual void OnGUI()
        {
            if (!QuickPlayerPrefs.GetSettingsAsset())
            {
                QuickPlayerPrefs.Init();
            }

            _scrollPos = EditorGUILayout.BeginScrollView(_scrollPos);

            titleContent.text = "PlayerPrefs";

            GUILayoutOption[] options = { GUILayout.Width(256) };

            EditorGUILayout.BeginVertical("box");
            DrawNewSettingsArea(options);
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical("box");
            _showBaseSettings = EditorGUILayout.Foldout(_showBaseSettings, "Base Settings");
            if (_showBaseSettings)
            {
                DrawSettings(true);
            }
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical("box");
            _showCustomSettings = EditorGUILayout.Foldout(_showCustomSettings, "Custom Settings");
            if (_showCustomSettings)
            {
                DrawSettings(false);
            }
            EditorGUILayout.EndVertical();

            //if (QuickBaseEditor.DrawButton("Clear Custom Settings", options))
            //{
            //    if (EditorUtility.DisplayDialog("Clear Custom Settings", "This will remove all the defined Custom Settings. Are you sure?", "Yes", "No"))
            //    {
            //        QuickPlayerPrefs.ClearSettingsCustom();
            //    }
            //}

            //QuickBaseEditor.DrawHorizontalLine();

            EditorGUILayout.BeginVertical("box");
            _customSettingsScriptName = EditorGUILayout.TextField("Custom Settings Script: ", _customSettingsScriptName, options);
            List <QuickSetting> customSettings = QuickPlayerPrefs.GetSettingsCustom();
            List <string>       keys           = new List <string>();

            foreach (QuickSetting s in customSettings)
            {
                keys.Add(s.GetKey());
            }

            if (QuickBaseEditor.DrawButton("Create Custom Settings Script", options))
            {
                CreateSettingsScript(_customSettingsScriptName, keys);
            }
            EditorGUILayout.EndVertical();

            EditorGUILayout.EndScrollView();
        }