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