protected override void RowGUI(RowGUIArgs args) { var rect = args.rowRect; var item = args.item as AssetListItem; item.icon = item.icon ? item.icon : (AssetDatabase.GetCachedIcon(item.Path) as Texture2D); var iconRect = new Rect(rect.x + 1, rect.y + 1, rect.height - 2, rect.height - 2); GUI.DrawTexture(iconRect, item.icon, ScaleMode.ScaleToFit); var labelRect = new Rect(rect.x + iconRect.xMax + 1, rect.y, rect.width - iconRect.width - 1, rect.height); var rightIconRect = new Rect(rect.width - rect.height, rect.y + 1, rect.height - 2, rect.height - 2); if (item.WarnLogic.value) { GUI.DrawTexture(rightIconRect, warnIcon, ScaleMode.ScaleToFit); rightIconRect = new Rect(rightIconRect.x - rect.height, rect.y + 1, rect.height - 2, rect.height - 2); } if (item.ErrorLogic.value) { GUI.DrawTexture(rightIconRect, errorIcon, ScaleMode.ScaleToFit); } DefaultGUI.BoldLabel(labelRect, item.displayName, args.selected, args.focused); }