private void DrawBundleData() { if (m_Editor != null) { GUILayout.BeginArea(m_Position); m_ScrollPosition = EditorGUILayout.BeginScrollView(m_ScrollPosition); m_Editor.OnInspectorGUI(); EditorGUILayout.EndScrollView(); GUILayout.EndArea(); } else if (!string.IsNullOrEmpty(CurrentPath)) { var style = new GUIStyle(GUI.skin.label); style.alignment = TextAnchor.MiddleCenter; style.wordWrap = true; GUI.Label(m_Position, new GUIContent("Invalid bundle selected"), style); if (m_inspectTabData != null && GUI.Button(new Rect(new Vector2((m_Position.position.x + m_Position.width / 2f) - 37.5f, (m_Position.position.y + m_Position.height / 2f) + 15), new Vector2(75, 30)), "Ignore file")) { var possibleFolderData = m_inspectTabData.FolderDataContainingFilePath(CurrentPath); if (possibleFolderData != null) { if (!possibleFolderData.ignoredFiles.Contains(CurrentPath)) { possibleFolderData.ignoredFiles.Add(CurrentPath); } if (m_assetBundleInspectTab != null) { m_assetBundleInspectTab.RefreshBundles(); } } } } }
protected override void RowGUI(RowGUIArgs args) { base.RowGUI(args); if (args.item.depth == 0) { var width = 16; var edgeRect = new Rect(args.rowRect.xMax - width, args.rowRect.y, width, args.rowRect.height); if (GUI.Button(edgeRect, "-")) { if (GetSelection().Contains(args.item.id)) { var selection = GetSelection(); foreach (var id in selection) { var item = FindItem(id, rootItem); if (item.depth == 0) { RemoveItem(item); } } } else { RemoveItem(args.item); } m_InspectTab.RefreshBundles(); } } }
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(); } }