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; }
public static void Repaint() => UnityEditorToolbar.RepaintToolbar();