internal Texture2D MessageIcon()
 {
     return(MessageSystem.GetIcon(HighestMessageLevel()));
 }
Ejemplo n.º 2
0
    void CellGUI(Rect cellRect, DirectoryTreeItem item, Columns column, ref RowGUIArgs args)
    {
        // Center cell rect vertically (makes it easier to place controls, icons etc in the cells)
        CenterRectUsingSingleLineHeight(ref cellRect);
        Event evt = Event.current;

        switch (column)
        {
        case Columns.Folder:

            Rect toggleRect = cellRect;
            cellRect.width  -= 4;
            toggleRect.x    += GetContentIndent(args.item);
            toggleRect.width = 16f;
            EditorGUI.BeginChangeCheck();
            bool isExport = EditorGUI.Toggle(toggleRect, item.isExport);
            if (EditorGUI.EndChangeCheck())
            {
                item.SetExport(isExport);
                ReloadData();
                AssetBundleBrowserMain.instance.FreshManageTab();
            }
            args.rowRect = cellRect;
            if (evt.type == EventType.MouseDown && cellRect.Contains(evt.mousePosition))
            {
                SelectionClick(args.item, false);
            }
            base.RowGUI(args);
            break;
        //case Columns.Export:
        //    Rect toggleRect = cellRect;
        //    toggleRect.x += (cellRect.width - kToggleWidth) * 0.5f;
        //    toggleRect.width = kToggleWidth;
        //    bool isExport = EditorGUI.Toggle(toggleRect, item.isExport);
        //    if(isExport != item.isExport)
        //    {

        //    }
        //DrawRect(cellRect.x, cellRect.y,1, cellRect.height,Color.gray);
        //DrawRect(cellRect.x + cellRect.width, cellRect.y , 1, cellRect.height, Color.gray);
        //break;
        case Columns.Bundle:
            Rect  labelRect = cellRect;
            Color oldColor  = GUI.color;
            bool  NameError = item.isExport && item.curAssetBundle != item.assetBundle;
            if (NameError)
            {
                //命名规范检测
                labelRect.x += cellRect.height;
                Rect messageRect = new Rect(cellRect.x, cellRect.y, cellRect.height, cellRect.height);
                GUI.Label(messageRect, new GUIContent(MessageSystem.GetIcon(MessageType.Error), "Incorrect name detected"));
            }
            else if (item.warnningMsg != string.Empty)
            {
                //检测是否包含自定义命名的ab包

                labelRect.x += cellRect.height;
                Rect messageRect = new Rect(cellRect.x, cellRect.y, cellRect.height, cellRect.height);
                GUI.Label(messageRect, new GUIContent(MessageSystem.GetIcon(MessageType.Warning), item.warnningMsg));
            }
            GUI.color = NameError ? Color.red : oldColor;
            EditorGUI.LabelField(labelRect, item.curAssetBundle);
            GUI.color = oldColor;
            //DrawRect(cellRect.x - 4, cellRect.y, 1, cellRect.height, Color.gray);
            break;
        }
    }