void ModeToggle() { GUILayout.BeginHorizontal(); GUILayout.Space(k_ToolbarPadding); if (m_Mode == Mode.Browser) { bool clicked = GUILayout.Button(m_RefreshTexture); if (clicked) { m_ManageTab.ForceReloadData(); } } else { GUILayout.Space(m_RefreshTexture.width + k_ToolbarPadding); } float toolbarWidth = position.width - k_ToolbarPadding * 4 - m_RefreshTexture.width; string[] labels = new string[2] { "Configure", "Build" }; m_Mode = (Mode)GUILayout.Toolbar((int)m_Mode, labels, "LargeButton", GUILayout.Width(toolbarWidth)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); }
void ModeToggle() { GUILayout.BeginHorizontal(); GUILayout.Space(k_ToolbarPadding); if (m_Mode == Mode.Browser) { bool clicked = GUILayout.Button(m_RefreshTexture); if (clicked) { m_ManageTab.ForceReloadData(); } } else { GUILayout.Space(m_RefreshTexture.width + k_ToolbarPadding); } float toolbarWidth = position.width - k_ToolbarPadding * 4 - m_RefreshTexture.width; string[] labels = new string[2] { "Configure", "Build" }; //, "Inspect" }; m_Mode = (Mode)GUILayout.Toolbar((int)m_Mode, labels, "LargeButton", GUILayout.Width(toolbarWidth)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); if (multiDataSource) { //GUILayout.BeginArea(r); GUILayout.BeginHorizontal(); using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar)) { GUILayout.Label("Bundle Data Source:"); GUILayout.FlexibleSpace(); var c = new GUIContent(string.Format("{0} ({1})", AssetBundleModel.Model.DataSource.Name, AssetBundleModel.Model.DataSource.ProviderName), "Select Asset Bundle Set"); if (GUILayout.Button(c, EditorStyles.toolbarPopup)) { GenericMenu menu = new GenericMenu(); bool firstItem = true; foreach (var info in AssetBundleDataSource.ABDataSourceProviderUtility.CustomABDataSourceTypes) { List <AssetBundleDataSource.ABDataSource> dataSourceList = null; dataSourceList = info.GetMethod("CreateDataSources").Invoke(null, null) as List <AssetBundleDataSource.ABDataSource>; if (dataSourceList == null) { continue; } if (!firstItem) { menu.AddSeparator(""); } foreach (var ds in dataSourceList) { menu.AddItem(new GUIContent(string.Format("{0} ({1})", ds.Name, ds.ProviderName)), false, () => { var thisDataSource = ds; AssetBundleModel.Model.DataSource = thisDataSource; m_ManageTab.ForceReloadData(); } ); } firstItem = false; } menu.ShowAsContext(); } GUILayout.FlexibleSpace(); if (AssetBundleModel.Model.DataSource.IsReadOnly()) { GUIStyle tbLabel = new GUIStyle(EditorStyles.toolbar); tbLabel.alignment = TextAnchor.MiddleRight; GUILayout.Label("Read Only", tbLabel); } } GUILayout.EndHorizontal(); //GUILayout.EndArea(); } }
void ModeToggle() { GUILayout.BeginHorizontal(); GUILayout.Space(k_ToolbarPadding); bool clicked = false; switch (m_Mode) { case Mode.Browser: clicked = GUILayout.Button(m_RefreshTexture); if (clicked) { m_ManageTab.ForceReloadData(); } break; case Mode.Builder: GUILayout.Space(m_RefreshTexture.width + k_ToolbarPadding); break; case Mode.Inspect: clicked = GUILayout.Button(m_RefreshTexture); if (clicked) { m_InspectTab.RefreshBundles(); } break; } float toolbarWidth = position.width - k_ToolbarPadding * 4 - m_RefreshTexture.width; //string[] labels = new string[2] { "Configure", "Build"}; string[] labels = new string[3] { "Configure", "Build", "Inspect" }; m_Mode = (Mode)GUILayout.Toolbar((int)m_Mode, labels, "LargeButton", GUILayout.Width(toolbarWidth)); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); if (multiDataSource) { //GUILayout.BeginArea(r); GUILayout.BeginHorizontal(); using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar)) { GUILayout.Label("Bundle Data Source:"); GUILayout.FlexibleSpace(); var c = new GUIContent(string.Format("{0} ({1})", AssetBundleModel.Model.DataSource.Name, AssetBundleModel.Model.DataSource.ProviderName), "Select Asset Bundle Set"); if (GUILayout.Button(c, EditorStyles.toolbarPopup)) { GenericMenu menu = new GenericMenu(); for (int index = 0; index < m_DataSourceList.Count; index++) { var ds = m_DataSourceList[index]; if (ds == null) { continue; } if (index > 0) { menu.AddSeparator(""); } var counter = index; menu.AddItem(new GUIContent(string.Format("{0} ({1})", ds.Name, ds.ProviderName)), false, () => { m_DataSourceIndex = counter; var thisDataSource = ds; AssetBundleModel.Model.DataSource = thisDataSource; m_ManageTab.ForceReloadData(); } ); } menu.ShowAsContext(); } GUILayout.FlexibleSpace(); if (AssetBundleModel.Model.DataSource.IsReadOnly()) { GUIStyle tbLabel = new GUIStyle(EditorStyles.toolbar); tbLabel.alignment = TextAnchor.MiddleRight; GUILayout.Label("Read Only", tbLabel); } } GUILayout.EndHorizontal(); //GUILayout.EndArea(); } }