static void Button_Platform() { var cont = EditorHelper.TempContent(s_buildTargetInfo.Find(x => x.group == UnityEditorEditorUserBuildSettings.activeBuildTargetGroup).icon, S._OpenBuildSettings); Rect r = GUILayoutUtility.GetRect(cont, s_styles.DropDownButton, GUILayout.Width(50)); Rect rr = r; rr.width = 20; rr.x += 30; if (EditorHelper.HasMouseClick(rr)) { var m = new GenericMenu(); m.AddDisabledItem("SwitchPlatform"); m.AddSeparator(""); foreach (var e in s_buildTargetInfo) { m.AddItem(e.group.GetShortName(), UnityEditorEditorUserBuildSettings.activeBuildTargetGroup == e.group, CallbackEventOnSwitchPlatform, e.group); } m.DropDown(r.PopupRect()); Event.current.Use(); } if (GUI.Button(r, cont, s_styles.DropDownButton)) { UnityEditorMenu.File_Build_Settings(); } if (UnitySymbol.UNITY_2019_3_OR_NEWER) { //EditorGUI.DrawRect( rr, new Color(0,0,1,0.2f)); rr.y += 3; rr.height -= 6; GUI.Label(rr, GUIContent.none, "DopesheetBackground"); } }
public bool UIDraw(Rect rect, P.Params currentParams) { if (!HEditorGUI.IconButton(rect.W(16), EditorIcon.settings)) { return(false); } UnityEditorMenu.File_Build_Settings(); return(false); }
///////////////////////////////////////// void DrawRightPane() { HGUIToolbar.Begin(); if (HGUIToolbar.Button(EditorIcon.settings)) { UnityEditorMenu.File_Build_Settings(); } //if( HGUIToolbar.Button( EditorIcon.search_icon ) ) ProjectBrowserUtils.SetSearch( "t:Scene" ); GUILayout.FlexibleSpace(); HGUIToolbar.End(); m_treeView.DrawItem(); }
public void SceneSelectTabOnGUI() { PB.Load(); using (new VerticalScope(Styles.helpBox)) { using (new HorizontalScope()) { void editButton() { var lsss = PrefixLabel(GUILayoutUtility.GetLastRect(), EditorHelper.TempContent(S._BuildSceneSet)); lsss.x -= Styles.iconEdit.width; lsss.x -= 2; lsss.width = Styles.iconEdit.width; if (HEditorGUI.IconButton(lsss, Styles.iconEdit, 2)) { editMode = !editMode; PB.i.profileList = PB.i.profileList.Distinct(a => a.profileName).ToList(); Repaint(); } } if (PB.i.profileList.Count <= PB.i.selectIndex) { PB.i.selectIndex = PB.i.profileList.Count - 1; } var lst = PB.i.profileList.Select(x => x.profileName).ToArray(); BeginChangeCheck(); if (editMode) { PB.i.selectProfile.profileName = EditorGUILayout.TextField(S._BuildSceneSet, PB.i.selectProfile.profileName); editButton(); } else { PB.i.selectIndex = EditorGUILayout.Popup(S._BuildSceneSet, PB.i.selectIndex, lst); //var ls = GUILayoutUtility.GetLastRect(); editButton(); if (HEditorGUILayout.IconButton(Styles.iconPlus, 4)) { PB.i.profileList.Add(new PB.Profile($"BuildScene ({PB.i.profileList.Count})")); PB.i.selectIndex = PB.i.profileList.Count - 1; s_changed = true; } BeginDisabledGroup(PB.i.selectIndex == 0); if (HEditorGUILayout.IconButton(Styles.iconMinus, 4)) { PB.i.profileList.RemoveAt(PB.i.selectIndex); PB.i.selectIndex = PB.i.profileList.Count - 1; s_changed = true; } EndDisabledGroup(); } if (EndChangeCheck()) { PB.Save(); } } BeginHorizontal(); BeginChangeCheck(); PB.i.selectProfile.exclusionScene = EditorGUILayout.ToggleLeft(S._ExcludescenesfromthebuildthatarenotregisteredinBuildSettings, PB.i.selectProfile.exclusionScene); if (Button(S._Checktheorderofthebuild, ExpandWidth(false))) { var s = string.Join("\n", PB.GetBuildSceneName().Select((x, i) => $"{i}: {x}").ToArray()); EditorUtility.DisplayDialog(S._Checktheorderofthebuild, s, SS._OK); } if (EndChangeCheck()) { PB.Save(); } EndHorizontal(); } // Build SettingsにセットされているScene if (0 < m_scenePaths.Count) { Space(8); BeginHorizontal(); Label(S._BuildSettingsScenes, Styles.boldLabel); var r = EditorHelper.GetLayout(Styles.iconSettings, HEditorStyles.iconButton); if (HEditorGUI.IconButton(r, Styles.iconSettings, B.kBuildSettings, 1)) { UnityEditorMenu.File_Build_Settings(); } EndHorizontal(); foreach (var p in m_scenePaths) { BeginHorizontal(Styles.helpBox); BeginDisabledGroup(true); Toggle(p.enabled, ""); EndDisabledGroup(); Label(EditorHelper.TempContent(SceneName(p.path), EditorIcon.SceneAsset), Height(16)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorHelper.PingObject(p.path); Event.current.Use(); } FlexibleSpace(); foreach (var pp in PB.i.profileList) { BeginChangeCheck(); var toggle = Toggle(pp.Has(p.path), pp.profileName, "Button"); if (EndChangeCheck()) { pp.Toggle(toggle, p.path); PB.Save(); } } EndHorizontal(); } } // Build SettingsにセットされていないScene Space(8); Label(S._ScenesotherthanBuildSettings, Styles.boldLabel); foreach (var scenePath in m_leakedScenes) { BeginHorizontal(Styles.helpBox); Space(20); Label(EditorHelper.TempContent(scenePath, EditorIcon.SceneAsset), Height(16)); if (EditorHelper.HasMouseClick(GUILayoutUtility.GetLastRect())) { EditorHelper.PingObject(scenePath); Event.current.Use(); } FlexibleSpace(); foreach (var pp in PB.i.profileList) { BeginChangeCheck(); var toggle = Toggle(pp.Has(scenePath), pp.profileName, "Button"); if (EndChangeCheck()) { pp.Toggle(toggle, scenePath); PB.Save(); } } EndHorizontal(); } }
/// <summary> /// GUI Build Settingsの描画を行います /// </summary> public void DrawGUI_BuildSettings() { var currentParams = P.GetCurrentParams(); EditorGUI.BeginChangeCheck(); bool fold; using (new GUILayout.VerticalScope(Styles.helpBox)) { using (new GUILayout.HorizontalScope()) { fold = HEditorGUILayout.Foldout(E.i.fold.Has(E.FoldBuildSettings), "Build Settings"); E.i.fold.Toggle(E.FoldBuildSettings, fold); GUILayout.FlexibleSpace(); //EditorGUI.DrawRect( GUILayoutUtility.GetLastRect(), new Color( 0, 0, 1, 0.2f ) ); var r = EditorHelper.GetLayout(Styles.iconSettings, HEditorStyles.iconButton); if (HEditorGUI.IconButton(r, Styles.iconSettings, B.kBuildSettings, 1)) { UnityEditorMenu.File_Build_Settings(); } } if (fold) { EditorGUI.indentLevel++; currentParams.development = EditorGUILayout.Toggle(S._DevelopmentBuild, currentParams.development); if (P.i.selectBuildTargetGroup == BuildTargetGroup.Android) { currentParams.buildAppBundle = EditorGUILayout.Toggle(S._BuildAppBundle_GooglePlay_, currentParams.buildAppBundle); } if (P.i.selectBuildTargetGroup == BuildTargetGroup.Standalone || P.i.selectBuildTargetGroup == BuildTargetGroup.Android) { string[] ss = { "Default", "LZ4", "LZ4HC" }; switch (EditorGUILayout.Popup(S._CompressionMethod, currentParams.compression.ToIndex(), ss, Styles.miniPopup)) { case 0: currentParams.compression = Compression.None; break; case 1: currentParams.compression = Compression.Lz4; break; case 2: currentParams.compression = Compression.Lz4HC; break; } } EditorGUI.indentLevel--; GUILayout.Space(2); } } if (EditorGUI.EndChangeCheck()) { s_changed = true; } }