Esempio n. 1
0
        public void FadeGroup(string title, bool autoOpen, FadeDelegate preTitle, FadeDelegate postTitle, FadeDelegate fadeFunc)
        {
            bool open = TryGetFadeStack(title, autoOpen);

            ExGUI.FadeGroup(title, ref open, preTitle, postTitle, fadeFunc);
            RecordValue(title, open);
        }
Esempio n. 2
0
        public static bool TabFadeGroup(bool active, string title, System.Action fadeFunc)
        {
            if (foldoutStyle == null)
            {
                foldoutStyle = new GUIStyle(UnityEditor.EditorStyles.boldLabel)
                {
                    margin = new RectOffset(4, 4, 2, 4)
                };
            }
            UnityEditor.EditorGUILayout.BeginVertical();
            ExGUI.Separator();
            UnityEditor.EditorGUILayout.BeginHorizontal();
            bool fade = UnityEditor.EditorGUILayout.Toggle(active, UnityEditor.EditorStyles.foldout, UnityEngine.GUILayout.Width(15), GUILayout.Height(20));

            if (GUILayout.Button(title, foldoutStyle))
            {
                fade = !fade;
            }
            UnityEditor.EditorGUILayout.EndHorizontal();
            if (UnityEditor.EditorGUILayout.BeginFadeGroup(System.Convert.ToInt32(fade)))
            {
                if (fadeFunc != null)
                {
                    fadeFunc();
                }
            }
            UnityEditor.EditorGUILayout.EndFadeGroup();
            UnityEditor.EditorGUILayout.EndVertical();
            UnityEditor.EditorGUILayout.Space();
            return(fade);
        }
Esempio n. 3
0
 public static bool DoPlayButtonSmall(string title, bool isEditing, System.Action startAction, System.Action stopAction)
 {
     GUILayout.FlexibleSpace();
     ExGUI.Horizontal(delegate()
     {
         GUIStyle style = new GUIStyle(EditorStyles.miniButton);
         if (isEditing)
         {
             style.normal = style.active;
             ExGUI.Button(new GUIContent(title, EditorGUIUtility.FindTexture("PlayButton On"), "Stop editing"), style, delegate
             {
                 stopAction();
                 isEditing = false;
             }, GUILayout.Height(15));
         }
         else
         {
             //GUI.enabled = GUI.enabled && CallCanBeginEditingTool(compEditor.editor);
             ExGUI.Button(new GUIContent(title, EditorGUIUtility.FindTexture("PlayButton"), "Start editing"), style, delegate
             {
                 if (!isEditing)
                 {
                     stopAction();
                 }
                 startAction();
                 isEditing = true;
             }, GUILayout.Height(15));
         }
     });
     GUI.enabled = true;
     GUILayout.FlexibleSpace();
     return(isEditing);
 }
Esempio n. 4
0
        public void ScrollView(string id, LayoutDelegate fadeFunc, params GUILayoutOption[] options)
        {
            Vector2 scroll = TryGetScrollStack(id);

            scroll = ExGUI.ScrollView(scroll, fadeFunc, options);
            RecordScrollValue(id, scroll);
        }
Esempio n. 5
0
        public void ToggleGroup(string title, string id, bool autoOpen, FadeDelegate fadeFunc)
        {
            bool open = TryGetFadeStack(id, autoOpen);

            ExGUI.ToggleGroup(title, ref open, fadeFunc);
            RecordValue(id, open);
        }
Esempio n. 6
0
        public void FoldoutGroupIndent(string id, string title, bool autoOpen, LayoutDelegate layoutFunc)
        {
            bool open = TryGetFadeStack(id, autoOpen);

            ExGUI.FoldoutGroupIndent(ref open, title, layoutFunc);
            RecordValue(id, open);
        }
Esempio n. 7
0
        public void ScrollView(string id, bool alwaysShowHorizontal, bool alwaysShowVertical, LayoutDelegate fadeFunc, params GUILayoutOption[] options)
        {
            Vector2 scroll = TryGetScrollStack(id);

            scroll = ExGUI.ScrollView(scroll, alwaysShowHorizontal, alwaysShowHorizontal, fadeFunc, options);
            RecordScrollValue(id, scroll);
        }
Esempio n. 8
0
        public void FoldoutGroup(string title, bool autoOpen, LayoutDelegate layoutFunc, LayoutDelegate headerLayoutFunc)
        {
            bool open = TryGetFadeStack(title, autoOpen);

            ExGUI.FoldoutGroup(ref open, title, layoutFunc, headerLayoutFunc);
            RecordValue(title, open);
        }
        public override void DoGUI()
        {
            ExGUI.Title("GUID -> Path");
            EditorGUI.BeginChangeCheck();
            _guid[0] = EditorGUILayout.TextField("GUID", _guid[0]);
            if (EditorGUI.EndChangeCheck())
            {
                _path[0] = AssetDatabase.GUIDToAssetPath(_guid[0]);
            }
            EditorGUILayout.TextField("Path", _path[0]);



            ExGUI.Title("Path -> GUID");
            EditorGUI.BeginChangeCheck();
            _path[1] = EditorGUILayout.TextField("GUID", _path[1]);
            if (EditorGUI.EndChangeCheck())
            {
                _guid[1] = AssetDatabase.AssetPathToGUID(_path[1]);
            }

            EditorGUILayout.TextField("GUID", _guid[1]);


            ExGUI.Title("Object -> GUID");

            EditorGUI.BeginChangeCheck();
            _obj = (UnityEngine.Object)EditorGUILayout.ObjectField("Obj", _obj, typeof(UnityEngine.Object), false);
            if (EditorGUI.EndChangeCheck())
            {
                _guid[2] = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(_obj));
            }
            EditorGUILayout.TextField("GUID", _guid[2]);
        }
        public override void DoGUI()
        {
            EditorGUI.BeginChangeCheck();
            _skinOriginal = EditorGUILayout.ObjectField("Original", _skinOriginal, typeof(GUISkin), false) as GUISkin;
            if (EditorGUI.EndChangeCheck())
            {
                EnableList();
            }

            if (_skinOriginal == null)
            {
                ExGUI.HelpBoxWarning("Necesitar asignar un GUISkin");
                return;
            }

            _currentAction = (GUIDActions)GUILayout.Toolbar((int)_currentAction, System.Enum.GetNames(typeof(GUIDActions)));
            ExGUIx.ScrollView("Scroll", delegate
            {
                switch (_currentAction)
                {
                case GUIDActions.Migrate:
                    DrawMigration();
                    break;

                case GUIDActions.ManageSkin:
                    DrawManageStyles();
                    break;
                    //case GUIDActions.AddDefault:
                    //    DrawAddDefault();
                    //    break;
                }
            });
            Repaint();
        }
Esempio n. 11
0
        public void FadeGroup(string title, string id, bool autoOpen, GUIStyle style, FadeDelegate fadeFunc)
        {
            bool open = TryGetFadeStack(id, autoOpen);

            ExGUI.ColorGUI(Color.white, delegate
            {
                ExGUI.FadeGroup(title, ref open, style, fadeFunc);
            });
            RecordValue(id, open);
        }
        void DrawManageStyles()
        {
            if (roorderList == null && _skinOriginal != null)
            {
                EnableList();
            }
            if (roorderList == null)
            {
                return;
            }

            ExGUI.Title("Add Buildt In Styles");
            DrawAddDefault();

            ExGUI.Title("Reorder");
            ExGUI.Horizontal(delegate()
            {
                script = (MonoScript)EditorGUILayout.ObjectField(script, typeof(MonoScript), false);
                if (GUILayout.Button("ReOrder", EditorStyles.miniButtonLeft))
                {
                    try
                    {
                        ReorderByEnum(script.GetClass());
                    }
                    catch (System.Exception ex)
                    {
                        Debug.Log(ex);
                    }
                }
                if (GUILayout.Button("Add From Enum", EditorStyles.miniButtonRight))
                {
                    try
                    {
                        AddFromEnum(script.GetClass());
                    }
                    catch (System.Exception ex)
                    {
                        Debug.Log(ex);
                    }
                }
            });


            EditorGUILayout.Space();
            roorderList.DoLayoutList();
        }
Esempio n. 13
0
        public static bool ToggleFadeGroup(bool active, string title, System.Action fadeFunc, System.Action <bool> onchange = null)
        {
            if (foldoutStyle == null)
            {
                foldoutStyle = new GUIStyle(UnityEditor.EditorStyles.boldLabel);
                //{
                //    margin = new RectOffset(40, 4, 2, 4),
                //    padding = new RectOffset(40, 4, 2, 4),
                //    clipOffset = new Vector2(20, 0)
                //};
            }
            //EditorGUILayout.(foldoutStyle, typeof(GUIStyle), false);
            UnityEditor.EditorGUILayout.BeginVertical();
            ExGUI.Separator();
            UnityEditor.EditorGUILayout.BeginHorizontal();
            bool fade = UnityEditor.EditorGUILayout.Toggle(active, UnityEngine.GUILayout.Width(15), GUILayout.Height(20));

            if (GUILayout.Button(title, foldoutStyle))
            {
                fade = !active;
            }
            if (fade != active)
            {
                if (onchange != null)
                {
                    onchange(fade);
                }
            }
            UnityEditor.EditorGUILayout.EndHorizontal();
            if (UnityEditor.EditorGUILayout.BeginFadeGroup(System.Convert.ToInt32(fade)))
            {
                if (fadeFunc != null)
                {
                    fadeFunc();
                }
            }
            UnityEditor.EditorGUILayout.EndFadeGroup();
            UnityEditor.EditorGUILayout.EndVertical();
            UnityEditor.EditorGUILayout.Space();
            return(fade);
        }
Esempio n. 14
0
 public void DrawSerializedField(string fieldKey) => ExGUI.DrawSerializedField(_serializedObject, fieldKey);
        void DrawMigration()
        {
            _skinTarget = EditorGUILayout.ObjectField("Target", _skinTarget, typeof(GUISkin), false) as GUISkin;
            if (_skinOriginal == null || _skinTarget == null)
            {
                return;
            }
            ExGUI.Group("Styles", delegate()
            {
                ExGUI.ButtonGo("Copy All:", delegate()
                {
                    CopyAllRegularStyles();
                    SaveSkin(_skinTarget);
                });

                ExGUI.Horizontal(delegate()
                {
                    EditorGUILayout.LabelField("Copy styles names to Clipboard");
                    GUILayout.FlexibleSpace();
                    ExGUI.Button("Original", EditorStyles.miniButtonLeft, delegate()
                    {
                        CopyAllNamesToClipboar(_skinOriginal);
                    });
                    ExGUI.Button("Target", EditorStyles.miniButtonRight, delegate()
                    {
                        CopyAllNamesToClipboar(_skinTarget);
                    });
                });
            });
            ExGUI.Group("Custom Styles", delegate()
            {
                ExGUI.ButtonGo("Copy All:", delegate()
                {
                    _skinTarget.customStyles = _skinOriginal.customStyles;
                    SaveSkin(_skinTarget);
                });
                ExGUI.ButtonGo("Update All:", delegate()
                {
                    ActionsToAll(true);
                    SaveSkin(_skinTarget);
                });

                ExGUIx.ScrollView("CustomStyles", delegate()
                {
                    for (int x = 0; x < _skinOriginal.customStyles.Length; x++)
                    {
                        ExGUI.Horizontal(delegate()
                        {
                            ExGUI.Button("X", EditorStyles.miniButtonLeft, delegate()
                            {
                                RemoveCustomStyle(_skinOriginal.customStyles[x].name);
                                SaveSkin(_skinTarget);
                            }, GUILayout.Width(30), GUILayout.Height(20));

                            if (_skinTarget.FindStyle(_skinOriginal.customStyles[x].name) == null)
                            {
                                ExGUI.Button(EditorGUIUtility.FindTexture("Animation.Play"), EditorStyles.miniButtonRight, delegate()
                                {
                                    AddCopyCustomStyle(_skinOriginal.customStyles[x].name);
                                    SaveSkin(_skinTarget);
                                }, GUILayout.Width(30), GUILayout.Height(20));
                            }
                            else
                            {
                                ExGUI.Button(EditorGUIUtility.FindTexture("RotateTool"), EditorStyles.miniButtonRight, delegate()
                                {
                                    ReplaceCustomStyle(_skinOriginal.customStyles[x].name);
                                    SaveSkin(_skinTarget);
                                }, GUILayout.Width(30), GUILayout.Height(20));
                            }

                            EditorGUILayout.LabelField(_skinOriginal.customStyles[x].name);
                        });
                    }
                });
            });
        }
        void DrawAddDefault()
        {
            ExGUI.Horizontal(delegate()
            {
                EditorGUI.BeginChangeCheck();
                _styleTarget = EditorGUILayout.TextField("BuiltIn Style", _styleTarget);
                if (EditorGUI.EndChangeCheck())
                {
                    _styleTarget = _styleTarget.Replace("(", "").Replace(")", "").Replace("GUIStyle", "");
                }
                if (GUILayout.Button("Paste", EditorStyles.miniButtonLeft))
                {
                    _styleTarget = GUIUtility.systemCopyBuffer.Replace("\"", "").Replace("(GUIStyle)", "");
                    GUI.FocusControl(null);
                }


                if (GUILayout.Button("Add", EditorStyles.miniButtonRight))
                {
                    GUIStyle style = new GUIStyle((GUIStyle)_styleTarget);
                    if (style != null && style.name != "")
                    {
                        AddCopyCustomStyle(_skinOriginal, style);
                    }
                }
            });
            ExGUI.Horizontal(delegate()
            {
                _styleEditorTarget = EditorGUILayout.TextField("Editor Style", _styleEditorTarget);

                GUI.enabled = _styleEditorTarget != "";
                if (GUILayout.Button("Add", EditorStyles.miniButton))
                {
                    System.Type editors = typeof(EditorStyles);
                    PropertyInfo[] fs   = typeof(EditorStyles).GetProperties(BindingFlags.Public | BindingFlags.Static);

                    fs = typeof(EditorStyles).GetProperties(BindingFlags.Public | BindingFlags.Static).Where(s => s.Name == _styleEditorTarget).ToArray();
                    PropertyInfo fields = typeof(EditorStyles).GetProperties(BindingFlags.Public | BindingFlags.Static).Where(s => s.Name == _styleEditorTarget).FirstOrDefault();
                    if (fields == null)
                    {
                        return;
                    }
                    GUIStyle st    = (GUIStyle)fields.GetValue(null, null);
                    GUIStyle style = new GUIStyle(st);
                    if (style != null)
                    {
                        AddCopyCustomStyle(_skinOriginal, style);
                    }
                }
                GUI.enabled = true;
            });

            ExGUI.Horizontal(delegate()
            {
                GUI.enabled = _selectedStyle != null;
                GUILayout.FlexibleSpace();
                if (GUILayout.Button(_selectedStyle != null ? "Replace " + _selectedStyle.name : "Replace", EditorStyles.miniButton))
                {
                    _styleTarget   = GUIUtility.systemCopyBuffer.Replace("\"", "").Replace("(GUIStyle)", "");
                    GUIStyle style = new GUIStyle((GUIStyle)_styleTarget);
                    CopyDataCustomStyle(_selectedStyleIndex, style);
                }
                GUI.enabled = true;
            });
        }