| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 | 
							- using UnityEngine;
 
- using UnityEditor;
 
- using FairyGUI;
 
- namespace FairyGUIEditor
 
- {
 
-     /// <summary>
 
-     /// 
 
-     /// </summary>
 
-     [CustomEditor(typeof(UIConfig))]
 
-     public class UIConfigEditor : Editor
 
-     {
 
-         string[] propertyToExclude;
 
-         bool itemsFoldout;
 
-         bool packagesFoldOut;
 
-         int errorState;
 
-         private const float kButtonWidth = 18f;
 
-         void OnEnable()
 
-         {
 
-             propertyToExclude = new string[] { "m_Script", "Items", "PreloadPackages" };
 
-             itemsFoldout = EditorPrefs.GetBool("itemsFoldOut");
 
-             packagesFoldOut = EditorPrefs.GetBool("packagesFoldOut");
 
-             errorState = 0;
 
-         }
 
-         public override void OnInspectorGUI()
 
-         {
 
-             serializedObject.Update();
 
-             DrawPropertiesExcluding(serializedObject, propertyToExclude);
 
-             
 
-             UIConfig config = (UIConfig)target;
 
-             EditorGUILayout.BeginHorizontal();
 
-             EditorGUI.BeginChangeCheck();
 
-             itemsFoldout = EditorGUILayout.Foldout(itemsFoldout, "Config Items");
 
-             if (EditorGUI.EndChangeCheck())
 
-                 EditorPrefs.SetBool("itemsFoldOut", itemsFoldout);
 
-             EditorGUILayout.EndHorizontal();
 
-             bool modified = false;
 
-             if (itemsFoldout)
 
-             {
 
-                 Undo.RecordObject(config, "Items");
 
-                 int len = config.Items.Count;
 
-                 EditorGUILayout.BeginHorizontal();
 
-                 EditorGUILayout.PrefixLabel("Add");
 
-                 UIConfig.ConfigKey selectedKey = (UIConfig.ConfigKey)EditorGUILayout.EnumPopup((System.Enum)UIConfig.ConfigKey.PleaseSelect);
 
-                 if (selectedKey != UIConfig.ConfigKey.PleaseSelect)
 
-                 {
 
-                     int index = (int)selectedKey;
 
-                     if (index > len - 1)
 
-                     {
 
-                         for (int i = len; i < index; i++)
 
-                             config.Items.Add(new UIConfig.ConfigValue());
 
-                         UIConfig.ConfigValue value = new UIConfig.ConfigValue();
 
-                         value.valid = true;
 
-                         UIConfig.SetDefaultValue(selectedKey, value);
 
-                         config.Items.Add(value);
 
-                     }
 
-                     else
 
-                     {
 
-                         UIConfig.ConfigValue value = config.Items[index];
 
-                         if (value == null)
 
-                         {
 
-                             value = new UIConfig.ConfigValue();
 
-                             value.valid = true;
 
-                             UIConfig.SetDefaultValue(selectedKey, value);
 
-                             config.Items[index] = value;
 
-                         }
 
-                         else if (!value.valid)
 
-                         {
 
-                             value.valid = true;
 
-                             UIConfig.SetDefaultValue(selectedKey, value);
 
-                         }
 
-                     }
 
-                 }
 
-                 EditorGUILayout.EndHorizontal();
 
-                 for (int i = 0; i < len; i++)
 
-                 {
 
-                     UIConfig.ConfigValue value = config.Items[i];
 
-                     if (value == null || !value.valid)
 
-                         continue;
 
-                     EditorGUILayout.BeginHorizontal();
 
-                     EditorGUILayout.PrefixLabel(((UIConfig.ConfigKey)i).ToString());
 
-                     switch ((UIConfig.ConfigKey)i)
 
-                     {
 
-                         case UIConfig.ConfigKey.ClickDragSensitivity:
 
-                         case UIConfig.ConfigKey.DefaultComboBoxVisibleItemCount:
 
-                         case UIConfig.ConfigKey.DefaultScrollStep:
 
-                         case UIConfig.ConfigKey.TouchDragSensitivity:
 
-                         case UIConfig.ConfigKey.TouchScrollSensitivity:
 
-                         case UIConfig.ConfigKey.InputCaretSize:
 
-                             value.i = EditorGUILayout.IntField(value.i);
 
-                             break;
 
-                         case UIConfig.ConfigKey.ButtonSound:
 
-                         case UIConfig.ConfigKey.GlobalModalWaiting:
 
-                         case UIConfig.ConfigKey.HorizontalScrollBar:
 
-                         case UIConfig.ConfigKey.LoaderErrorSign:
 
-                         case UIConfig.ConfigKey.PopupMenu:
 
-                         case UIConfig.ConfigKey.PopupMenu_seperator:
 
-                         case UIConfig.ConfigKey.TooltipsWin:
 
-                         case UIConfig.ConfigKey.VerticalScrollBar:
 
-                         case UIConfig.ConfigKey.WindowModalWaiting:
 
-                         case UIConfig.ConfigKey.DefaultFont:
 
-                             value.s = EditorGUILayout.TextField(value.s);
 
-                             break;
 
-                         case UIConfig.ConfigKey.DefaultScrollBounceEffect:
 
-                         case UIConfig.ConfigKey.DefaultScrollTouchEffect:
 
-                         case UIConfig.ConfigKey.RenderingTextBrighterOnDesktop:
 
-                         case UIConfig.ConfigKey.AllowSoftnessOnTopOrLeftSide:
 
-                         case UIConfig.ConfigKey.DepthSupportForPaintingMode:
 
-                             value.b = EditorGUILayout.Toggle(value.b);
 
-                             break;
 
-                         case UIConfig.ConfigKey.ButtonSoundVolumeScale:
 
-                             value.f = EditorGUILayout.Slider(value.f, 0, 1);
 
-                             break;
 
-                         case UIConfig.ConfigKey.ModalLayerColor:
 
-                         case UIConfig.ConfigKey.InputHighlightColor:
 
-                             value.c = EditorGUILayout.ColorField(value.c);
 
-                             break;
 
-                         case UIConfig.ConfigKey.Branch:
 
-                             EditorGUI.BeginChangeCheck();
 
-                             value.s = EditorGUILayout.TextField(value.s);
 
-                             if (EditorGUI.EndChangeCheck())
 
-                                 modified = true;
 
-                             break;
 
-                     }
 
-                     if (GUILayout.Button(new GUIContent("X", "Delete Item"), EditorStyles.miniButtonRight, GUILayout.Width(30)))
 
-                     {
 
-                         config.Items[i].Reset();
 
-                         UIConfig.SetDefaultValue((UIConfig.ConfigKey)i, config.Items[i]);
 
-                         modified = true;
 
-                     }
 
-                     EditorGUILayout.EndHorizontal();
 
-                 }
 
-             }
 
-             EditorGUILayout.BeginHorizontal();
 
-             EditorGUI.BeginChangeCheck();
 
-             packagesFoldOut = EditorGUILayout.Foldout(packagesFoldOut, "Preload Packages");
 
-             if (EditorGUI.EndChangeCheck())
 
-                 EditorPrefs.SetBool("packagesFoldOut", packagesFoldOut);
 
-             EditorGUILayout.EndHorizontal();
 
-             if (packagesFoldOut)
 
-             {
 
-                 Undo.RecordObject(config, "PreloadPackages");
 
-                 EditorToolSet.LoadPackages();
 
-                 if (EditorToolSet.packagesPopupContents != null)
 
-                 {
 
-                     EditorGUILayout.BeginHorizontal();
 
-                     EditorGUILayout.PrefixLabel("Add");
 
-                     int selected = EditorGUILayout.Popup(EditorToolSet.packagesPopupContents.Length - 1, EditorToolSet.packagesPopupContents);
 
-                     EditorGUILayout.EndHorizontal();
 
-                     if (selected != EditorToolSet.packagesPopupContents.Length - 1)
 
-                     {
 
-                         UIPackage pkg = UIPackage.GetPackages()[selected];
 
-                         string tmp = pkg.assetPath.ToLower();
 
-                         int pos = tmp.LastIndexOf("resources/");
 
-                         if (pos != -1)
 
-                         {
 
-                             string packagePath = pkg.assetPath.Substring(pos + 10);
 
-                             if (config.PreloadPackages.IndexOf(packagePath) == -1)
 
-                                 config.PreloadPackages.Add(packagePath);
 
-                             errorState = 0;
 
-                         }
 
-                         else
 
-                         {
 
-                             errorState = 10;
 
-                         }
 
-                     }
 
-                 }
 
-                 if (errorState > 0)
 
-                 {
 
-                     errorState--;
 
-                     EditorGUILayout.HelpBox("Package is not in resources folder.", MessageType.Warning);
 
-                 }
 
-                 int cnt = config.PreloadPackages.Count;
 
-                 int pi = 0;
 
-                 while (pi < cnt)
 
-                 {
 
-                     EditorGUILayout.BeginHorizontal();
 
-                     EditorGUILayout.PrefixLabel("" + pi + ".");
 
-                     config.PreloadPackages[pi] = EditorGUILayout.TextField(config.PreloadPackages[pi]);
 
-                     if (GUILayout.Button(new GUIContent("X", "Delete Item"), EditorStyles.miniButtonRight, GUILayout.Width(30)))
 
-                     {
 
-                         config.PreloadPackages.RemoveAt(pi);
 
-                         cnt--;
 
-                     }
 
-                     else
 
-                         pi++;
 
-                     EditorGUILayout.EndHorizontal();
 
-                 }
 
-             }
 
-             else
 
-                 errorState = 0;
 
-             if (serializedObject.ApplyModifiedProperties() || modified)
 
-                 (target as UIConfig).ApplyModifiedProperties();
 
-         }
 
-     }
 
- }
 
 
  |