internal Texture2D MessageIcon() { return(MessageSystem.GetIcon(HighestMessageLevel())); }
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; } }