Ejemplo n.º 1
0
        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();
         }
     }
 }
Ejemplo n.º 3
0
        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();
            }
        }