Beispiel #1
0
 public static void Open(EditorWindow parent)
 {
     s_window = GetWindow <PreferenceWindow>(typeof(BuildAssistWindow));
     s_window.SetTitle(new GUIContent("Project Settings", Styles.iconSettings));
     //s_window.SetPositionCenter( parent );
     s_window.sectionName = Package.name;
 }
        /// <summary>
        /// ツールバーを描画します
        /// </summary>
        void DrawToolBar()
        {
            GUILayout.BeginHorizontal(Styles.toolbar);

            EditorGUI.BeginChangeCheck();
            P.i.selectScene = HGUILayoutToolbar.Toggle(P.i.selectScene, EditorHelper.TempContent("Scenes in Build"), Styles.toolbarButtonBold);
            if (EditorGUI.EndChangeCheck())
            {
                P.Save();
            }

            var lst = m_supportBuildTarget.Where(x => P.GetPlatform(x).enable).ToArray();

            var reo    = Styles.toolbarbutton.padding;
            var active = UnityEditorUserBuildSettings.activeBuildTargetGroup;

            for (int i = 0; i < lst.Length; i++)
            {
                var s = lst[i];
                EditorGUI.BeginChangeCheck();
                var style = Styles.toolbarbutton;
                if (active == s)
                {
                    style = Styles.toolbarbuttonActive;
                }
                var cont = EditorHelper.TempContent(s.GetShortName(), s.Icon());
                var size = style.CalcSize(cont);
                size.x -= 8;
                EditorGUI.BeginChangeCheck();
                HGUILayoutToolbar.Toggle(P.i.selectBuildTargetGroup == s && P.i.selectScene == false, cont, style, GUILayout.Width(size.x));
                if (EditorGUI.EndChangeCheck())
                {
                    P.i.selectScene = false;
                }
                if (active == s)
                {
                    var rc = GUILayoutUtility.GetLastRect();
                    rc.x -= 4;
                    rc    = rc.AlignCenterH(16);
                    if (EditorHelper.IsDefine("UNITY_2019_3_OR_NEWER"))
                    {
                        rc.y += 1;
                    }
                    GUI.DrawTexture(rc.AlignR(16), EditorIcon.SceneAsset, ScaleMode.ScaleToFit);
                }

                if (EditorGUI.EndChangeCheck())
                {
                    P.i.selectBuildTargetGroup = s;
                    P.Save();
                    ChangeActiveTarget();
                }
            }

            GUILayout.FlexibleSpace();
            if (_enableBuildReport)
            {
                if (HGUILayoutToolbar.Button("Build Report"))
                {
                    EditorApplication.ExecuteMenuItem(Window_Show_Build_Report);
                }
            }
            if (HGUILayoutToolbar.Button(Styles.iconSettings))
            {
                PreferenceWindow.Open(this);
            }

            GUILayout.EndHorizontal();
        }