private void ShowToolbar() { using (Horizontal.Do(EditorStyles.toolbar)) { OnToolbarGUI(); } }
public override void OnInspectorGUI(UMakeBuildActionEditor editor) { base.OnInspectorGUI(editor); using (BoxGroup.Do("Shared Settings")) { using (Horizontal.Do()) { steamSdkPath.Value = EditorGUILayout.TextField("Steam SDK Folder", steamSdkPath.Value); if (GUILayout.Button("Change", GUILayout.Width(64.0f))) { string path = EditorUtility.OpenFolderPanel("Steam SDK Folder Path", steamSdkPath.Value, ""); if (!string.IsNullOrEmpty(path)) { steamSdkPath.Value = path; } } } steamUsername.Value = EditorGUILayout.TextField("Steam Username", steamUsername.Value); steamPassword.Value = EditorGUILayout.PasswordField("Steam Password", steamPassword.Value); } GUILayout.FlexibleSpace(); }
public override void OnInspectorGUI() { using (Horizontal.Do()) { EditorGUI.BeginChangeCheck(); string buildPath = EditorGUILayout.TextField("Build Path", UMake.BuildPathPref); if (EditorGUI.EndChangeCheck()) { UMake.BuildPathPref = buildPath; } if (string.IsNullOrEmpty(buildPath)) { Rect position = GUILayoutUtility.GetLastRect().Right(-EditorGUIUtility.labelWidth); EditorGUI.LabelField(position, "Pick folder on build.", EditorStyles.centeredGreyMiniLabel); } if (GUILayout.Button("Change", GUILayout.Width(64.0f))) { string path = EditorUtility.OpenFolderPanel("Build Path", UMake.BuildPathPref, "Builds"); if (!string.IsNullOrEmpty(path)) { UMake.BuildPathPref = path; } } } base.OnInspectorGUI(); }
public override void OnInspectorGUI() { var referencesObjectBase = target as ReferencesObjectBase; string referenceCountLabel = string.Format("{0} references of <{1}>", referencesObjectBase.ReferenceCount, referencesObjectBase.ReferencedType.Name); EditorGUILayout.LabelField(referenceCountLabel, EditorStyles.centeredGreyMiniLabel); using (Horizontal.Do()) { using (LabelWidth.Do(72.0f)) { SerializedProperty rootFolderProperty = serializedObject.GetMemberProperty <ReferencesBase>(r => r.rootFolder); EditorGUILayout.PropertyField(rootFolderProperty); } if (GUILayout.Button("Update References", EditorStyles.miniButton, GUILayout.Width(108.0f))) { referencesObjectBase.UpdateReferences(); serializedObject.ApplyModifiedProperties(); } } if (referencesObjectBase.ContainsNullReference) { Rect warningRect = GUILayoutUtility.GetRect(GUIContent.none, EditorStyles.label); GUI.Box(warningRect, GUIContent.none); var style = new GUIStyle(EditorStyles.centeredGreyMiniLabel); style.normal.textColor = Color.red; GUI.Label(warningRect, "Null references found! Please, update the references.", style); } }
/// <summary> /// Draws a delayed search field like those of Project window. /// </summary> /// <param name="search"></param> /// <returns></returns> public static string DelayedSearchField(string search) { using (Horizontal.Do()) { search = EditorGUILayout.DelayedTextField(search, Styles.SearchTextField); var buttonStyle = string.IsNullOrEmpty(search) ? EditorHelper.Styles.SearchCancelButtonEmpty : EditorHelper.Styles.SearchCancelButton; if (GUILayout.Button(GUIContent.none, buttonStyle)) { search = ""; } } return(search); }
public override void OnInspectorGUI() { serializedObject.Update(); TryInitList(); var targetRendererProperty = serializedObject.GetMemberProperty <TweenShader>(t => t.targetRenderer); var durationProperty = serializedObject.GetMemberProperty <TweenShader>(t => t.duration); EditorGUILayout.PropertyField(targetRendererProperty); EditorGUILayout.PropertyField(durationProperty); shaderProperiesList.DoLayoutList(); serializedObject.ApplyModifiedProperties(); var tweenShader = target as TweenShader; EditorGUILayout.Space(); using (Horizontal.Do()) { if (GUILayout.Button("Play Forward", EditorStyles.miniButtonLeft)) { InitTween(tweenShader); tweenShader.PlayForward(); UpdateTween(tweenShader); } if (GUILayout.Button("Play Backward", EditorStyles.miniButtonMid)) { InitTween(tweenShader); tweenShader.PlayBackward(); UpdateTween(tweenShader); } if (GUILayout.Button("Clear", EditorStyles.miniButtonRight)) { InitTween(tweenShader); tweenShader.Clear(); SceneView.RepaintAll(); } } }
/// <summary> /// Draws a search field like those of Project window. /// </summary> /// <param name="search"></param> /// <returns></returns> public static string SearchField(string search) { using (Horizontal.Do()) { search = EditorGUILayout.TextField(search, Styles.SearchTextField); GUIStyle buttonStyle = Styles.SearchCancelButtonEmpty; if (!string.IsNullOrEmpty(search)) { buttonStyle = Styles.SearchCancelButton; } if (GUILayout.Button(GUIContent.none, buttonStyle)) { search = ""; } } return(search); }
public void OnPreferencesGUI() { unfolded = EditorGUILayout.Foldout(unfolded, new GUIContent(propertyName)); if (!unfolded) { return; } templateCode.Value = EditorGUILayout.TextArea(templateCode.Value); using (Horizontal.Do()) { if (GUILayout.Button("Load from file")) { string filePath = EditorUtility.OpenFilePanelWithFilters("Load script template file for " + propertyName, ScriptTemplatePreferences.ScriptTemplateDefaultPath.Value, new[] { "FileType", "txt,cs" }); if (!filePath.Equals(string.Empty)) { ScriptTemplatePreferences.SaveDefaultPathFromFilePath(filePath); templateCode.Value = File.ReadAllText(filePath); UpdateLineEnding(); } } if (GUILayout.Button("Save to file")) { string filePath = EditorUtility.SaveFilePanel("Save script template", ScriptTemplatePreferences.ScriptTemplateDefaultPath.Value, propertyName + "Template", "txt"); if (!filePath.Equals(string.Empty)) { ScriptTemplatePreferences.SaveDefaultPathFromFilePath(filePath); UpdateLineEnding(); WriteToFile(templateCode.Value, filePath); AssetDatabase.Refresh(); } } if (GUILayout.Button("Reset")) { GUI.FocusControl(null); templateCode.DeleteKey(); } } }
/// <summary> /// This is a debug method that draws all Unity icons /// together with its name, so you can later use them. /// </summary> public static void DrawAllIcons() { if (unityIcons == null) { unityIcons = Resources.FindObjectsOfTypeAll <Texture>(); System.Array.Sort(unityIcons, ObjectNameComparer.Instance); } searchField = SearchField(searchField); string searchLower = searchField.ToLower(CultureInfo.InvariantCulture); EditorGUILayout.Space(); using (ScrollView.Do(ref scroll)) { foreach (Texture texture in unityIcons) { if (texture == null || texture.name == "") { continue; } if (!AssetDatabase.GetAssetPath(texture).StartsWith("Library/")) { continue; } if (string.IsNullOrEmpty(searchField) || texture.name.ToLower(CultureInfo.InvariantCulture).Contains(searchLower)) { using (Horizontal.Do()) { EditorGUILayout.TextField(texture.name, EditorStyles.label); GUILayout.Label(new GUIContent(texture)); } } } } }
private BuildAction ShowActions() { BuildAction action; using (Horizontal.Do()) { action = BuildAction.None; if (GUILayout.Button("Open Folder", EditorStyles.miniButton)) { action = BuildAction.OpenFolder; } GUILayout.FlexibleSpace(); GUILayout.Label("Execute", EditorStyles.centeredGreyMiniLabel); GUI.enabled = CanBuild; if (GUILayout.Button("Pre Actions", EditorStyles.miniButtonLeft)) { action = BuildAction.PreActions; } if (GUILayout.Button("Build", EditorStyles.miniButtonMid, GUILayout.Width(64.0f))) { action = BuildAction.Build; } if (GUILayout.Button("Post Actions", EditorStyles.miniButtonRight)) { action = BuildAction.PostActions; } GUI.enabled = true; } return(action); }
/// <summary> /// Draw the graph given a host EditorWindow at a Rect position. /// </summary> /// <param name="host"></param> /// <param name="position"></param> public void OnGUI(EditorWindow host, Rect position) { if (graph == null || graphGUI == null) { Initialize(); } if (graphNeedsUpdate) { UpdateGraphImmediate(); } using (Horizontal.Do(EditorStyles.toolbar)) { OnToolbarGUI(); } float toolbarHeight = EditorGUIUtility.singleLineHeight + 1.0f; graphGUI.BeginGraphGUI(host, new Rect(0, toolbarHeight, position.width, position.height - toolbarHeight)); graphGUI.OnGraphGUI(); graphGUI.EndGraphGUI(); }
/// <summary> /// This is a debug method that draws all Unity styles found in GUI.skin.customStyles /// together with its name, so you can later use some specific style. /// </summary> public static void DrawAllStyles() { searchField = SearchField(searchField); string searchLower = searchField.ToLower(CultureInfo.InvariantCulture); EditorGUILayout.Space(); using (ScrollView.Do(ref scroll)) { foreach (GUIStyle style in GUI.skin.customStyles) { if (string.IsNullOrEmpty(searchField) || style.name.ToLower(CultureInfo.InvariantCulture).Contains(searchLower)) { using (Horizontal.Do()) { EditorGUILayout.TextField(style.name, EditorStyles.label); GUILayout.Label(style.name, style); } } } } }