@@ -13,13 +13,17 @@ public class DrawerMenu : EditorWindow
1313 Vector2 scrollPos ;
1414 static Drawer [ ] drawers ;
1515 static DrawerOption [ ] options ;
16- public static void ShowWindow ( Drawer [ ] drawer , DrawerOption [ ] _keys ) {
16+ static DrawerOption [ ] mostUsedKeys ;
17+ static DrawerOption [ ] numbers ;
18+ public static void ShowWindow ( Drawer [ ] drawer , DrawerOption [ ] _keys , DrawerOption [ ] _mostUsedKeys , DrawerOption [ ] _numbers ) {
1719 var window = GetWindow < DrawerMenu > ( ) ;
1820 window . titleContent = new GUIContent ( "Drawer menu" ) ;
1921 window . Show ( ) ;
2022 window . minSize = new Vector2 ( 400 , 180 ) ;
2123 options = _keys ;
2224 drawers = drawer ;
25+ mostUsedKeys = _mostUsedKeys ;
26+ numbers = _numbers ;
2327 }
2428
2529 void OnGUI ( )
@@ -30,26 +34,30 @@ void OnGUI()
3034 s [ i ] = drawers [ i ] . name ;
3135 }
3236 tab = GUILayout . Toolbar ( tab , s ) ;
33- switch ( tab ) {
34- case 0 :
35- GUILayout . BeginVertical ( EditorStyles . toolbar ) ;
36- scrollPos = EditorGUILayout . BeginScrollView ( scrollPos , GUILayout . Width ( 400 ) , GUILayout . Height ( 500 ) ) ;
37- for ( int i = 0 ; i < options . Length ; i ++ )
38- {
39- options [ i ] . Refresh ( i ) ;
40- if ( GUILayout . Button ( options [ i ] . name , EditorStyles . toolbarButton ) ) {
41- options [ i ] . onGUI ( ) ;
42- options [ i ] . Update ( ) ;
43- } ;
44- GUILayout . FlexibleSpace ( ) ;
45- }
46- GUILayout . EndVertical ( ) ;
47- GUILayout . EndScrollView ( ) ;
48- break ;
49- case 1 :
50- Debug . Log ( "Test" ) ;
51- break ;
52- }
37+ Draw ( tab ) ;
38+ }
39+
40+ void Draw ( int r ) {
41+ var groups = new List < DrawerOption [ ] > ( ) ;
42+ groups . Add ( options ) ;
43+ groups . Add ( mostUsedKeys ) ;
44+ groups . Add ( numbers ) ;
45+
46+ var o = groups [ r ] ;
47+
48+ GUILayout . BeginVertical ( EditorStyles . toolbar ) ;
49+ scrollPos = EditorGUILayout . BeginScrollView ( scrollPos , GUILayout . Width ( 400 ) , GUILayout . Height ( 500 ) ) ;
50+ for ( int i = 0 ; i < o . Length ; i ++ )
51+ {
52+ o [ i ] . Refresh ( i ) ;
53+ if ( GUILayout . Button ( o [ i ] . name , EditorStyles . toolbarButton ) ) {
54+ o [ i ] . onGUI ( ) ;
55+ o [ i ] . Update ( ) ;
56+ } ;
57+ GUILayout . FlexibleSpace ( ) ;
58+ }
59+ GUILayout . EndVertical ( ) ;
60+ GUILayout . EndScrollView ( ) ;
5361 }
5462 }
5563 [ System . Serializable ]
0 commit comments