예제 #1
0
        static void add()
        {
            var aa = Resources.FindObjectsOfTypeAll(UnityTypes.UnityEditor_Toolbar);

            if (aa.Length == 1)
            {
                m_UnityEditorToolbar = new UnityEditorToolbar(aa[0]);
            }
            else
            {
                return;
            }

            if (m_UnityEditorToolbar == null)
            {
                return;
            }

            if (m_UnityEditorToolbar.m_Root == null)
            {
                return;
            }

            m_UnityEditorToolbar.m_Root.SetFont(EditorStyles.standardFont);

            var ToolbarZoneLeftAlign  = m_UnityEditorToolbar.m_Root.前から検索する("ToolbarZoneLeftAlign");
            var ToolbarZonePlayMode   = m_UnityEditorToolbar.m_Root.前から検索する("ToolbarZonePlayMode");
            var ToolbarZoneRightAlign = m_UnityEditorToolbar.m_Root.前から検索する("ToolbarZoneRightAlign");

            //var ToolbarZoneRightAlign = m_UnityEditorToolbar.m_Root.名前から検索する( "ToolbarZoneRightAlign" );

            //"ToolbarZonePlayMode"
            //Debug.Log( ToolbarZoneLeftAlign.name );
            var vs = new UnityEngine.UIElements.VisualElement();

            vs.name = "ToolSettings";

            var vss = new UnityEngine.UIElements.IMGUIContainer();

            vss.onGUIHandler += () => {
                //GUI.Button( new Rect( 0, 0, 32, 20 ), "aaa" );
                var xx = ToolbarZonePlayMode.layout.x - vss.layout.x;
                xx += 12;
                vss.style.width = xx;

                GUILayout.BeginArea(new Rect(0, 0, xx, 24));
                GUILayout.BeginHorizontal();
                //foreach( var handler in ToolbarExtender.LeftToolbarGUI ) {
                //	handler();
                //}
                OnLeftToolbarGUI();

                GUILayout.EndHorizontal();
                GUILayout.EndArea();
            };
            //string str = "StyleSheets/Toolbars/" + "MainToolbar";
            //var styleSheet = EditorGUIUtility.Load( str + "Common.uss" ) as UnityEngine.UIElements.StyleSheet;
            //UnityEditorToolbarsEditorToolbarUtility.LoadStyleSheets( "MainToolbar", vs );
            //vs.Add( vss );
            //vs.styleSheets.Add( styleSheet );
            //vs.style.height = 20;
            //vs.style.width = 120;
            vss.style.height = 20;
            vss.style.width  = 120;
            ToolbarZoneLeftAlign.style.paddingRight = 0;
            ToolbarZoneLeftAlign.Add(vss);

            var rightIMGUIContainer = new UnityEngine.UIElements.IMGUIContainer();

            rightIMGUIContainer.onGUIHandler += () => {
                var xx = vs.worldBound.x - ToolbarZoneRightAlign.worldBound.x;
                //xx += 12;
                rightIMGUIContainer.style.width  = xx;
                rightIMGUIContainer.style.height = 20;

                GUILayout.BeginArea(new Rect(0, 0, xx, 20));
                GUILayout.BeginHorizontal();

                OnRightToolbarGUI();

                GUILayout.EndHorizontal();
                GUILayout.EndArea();
            };
            ToolbarZoneRightAlign.style.paddingLeft = 0;
            ToolbarZoneRightAlign.Add(vs);
            ToolbarZoneRightAlign.Add(rightIMGUIContainer);

            EditorApplication.update -= add;
        }
예제 #2
0
 public static void Repaint() => UnityEditorToolbar.RepaintToolbar();