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();
        }
        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);
                        });
                    }
                });
            });
        }