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); }
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); }
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); }
public void ScrollView(string id, LayoutDelegate fadeFunc, params GUILayoutOption[] options) { Vector2 scroll = TryGetScrollStack(id); scroll = ExGUI.ScrollView(scroll, fadeFunc, options); RecordScrollValue(id, scroll); }
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); }
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); }
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); }
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(); }
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(); }
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); }
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; }); }