Exemplo n.º 1
0
        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");
            }
        }
Exemplo n.º 2
0
        public bool UIDraw(Rect rect, P.Params currentParams)
        {
            if (!HEditorGUI.IconButton(rect.W(16), EditorIcon.settings))
            {
                return(false);
            }

            UnityEditorMenu.File_Build_Settings();

            return(false);
        }
Exemplo n.º 3
0
        /////////////////////////////////////////
        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();
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
0
        /// <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;
            }
        }