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