private void DoLayoutTabs() { using (new EditorGUILayout.HorizontalScope()) { GUILayout.FlexibleSpace(); var newTabType = (TabType)GUILayout.Toolbar((int)m_TabType, s_GuiContents.Tabs, EditorStyles.miniButton #if UNITY_2017_2_OR_NEWER , GUI.ToolbarButtonSize.FitToContents #endif , GUILayout.Height(20)); if (newTabType != m_TabType) { m_TabType = newTabType; switch (m_TabType) { case TabType.Settings: m_ModuleSettingsPanel?.SetDirty(); m_ProjectSettingsPanel?.SetDirty(); break; case TabType.Modules: m_ModulePanel?.SetDirty(); break; case TabType.Scenes: m_EntityGroupPanel?.SetDirty(); break; case TabType.Types: m_TypePanel?.SetDirty(); break; case TabType.Code: m_CodePanel?.SetDirty(); break; case TabType.Assets: m_AssetPanel?.SetDirty(); break; case TabType.BuildReport: m_BuildReportPanel?.SetDirty(); break; default: throw new ArgumentOutOfRangeException(); } } GUILayout.FlexibleSpace(); } }