void DrawMainUI(int selectedTabID) { switch (selectedTabID) { case 0: gpu.DrawMainGUI(); break; case 1: pipline.DrawMainGUI(); break; case 2: properties.DrawMainGUI(); break; case 3: semantics.DrawMainGUI(); break; case 4: tags.DrawMainGUI(); break; case 5: renderState.DrawMainGUI(); break; case 6: pragma.DrawMainGUI(); break; case 7: transformation.DrawMainGUI(); break; case 8: other.DrawMainGUI(); break; case 9: buildInVariables.DrawMainGUI(); break; case 10: predefinedMacros.DrawMainGUI(); break; case 11: platformDifferences.DrawMainGUI(); break; case 12: math.DrawMainGUI(); break; case 13: lighting.DrawMainGUI(); break; case 14: miscellaneous.DrawMainGUI(); break; case 15: errorDebug.DrawMainGUI(); break; case 16: glsl.DrawMainGUI(); break; case 17: setup.DrawMainGUI(); break; case 18: about.DrawMainGUI(); break; } }
void OnGUI() { EditorGUILayout.BeginHorizontal(); //绘制左侧标签栏 float _width = 150; float _heigth = position.height - 10; EditorGUILayout.BeginVertical(EditorStyles.helpBox, GUILayout.MaxWidth(_width), GUILayout.MinHeight(_heigth)); selectedTabID = GUILayout.SelectionGrid(selectedTabID, tabNames, 1); EditorGUILayout.EndVertical(); //绘制右侧内容区 EditorGUILayout.BeginVertical(EditorStyles.helpBox, GUILayout.MinWidth(position.width - _width), GUILayout.MinHeight(_heigth)); switch (selectedTabID) { case 0: gpu.DrawMainGUI(); break; case 1: pipline.DrawMainGUI(); break; case 2: properties.DrawMainGUI(); break; case 3: semantics.DrawMainGUI(); break; case 4: tags.DrawMainGUI(); break; case 5: renderState.DrawMainGUI(); break; case 6: pragma.DrawMainGUI(); break; case 7: other.DrawMainGUI(); break; case 8: buildInVariables.DrawMainGUI(); break; case 9: math.DrawMainGUI(); break; case 10: miscellaneous.DrawMainGUI(); break; case 11: about.DrawMainGUI(); break; } EditorGUILayout.EndVertical(); EditorGUILayout.EndVertical(); Repaint(); }