mirror of https://github.com/tuyoogame/YooAsset
fix #212
parent
67b2b886a8
commit
cbdb84a69f
|
@ -121,17 +121,6 @@ namespace YooAsset.Editor
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 判断是否为冗余资源
|
|
||||||
/// </summary>
|
|
||||||
public bool IsRedundancyAsset()
|
|
||||||
{
|
|
||||||
if (HasBundleName())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return _referenceBundleNames.Count > 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取关联资源包的数量
|
/// 获取关联资源包的数量
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -13,11 +13,6 @@ namespace YooAsset.Editor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private readonly Dictionary<string, BuildBundleInfo> _bundleInfoDic = new Dictionary<string, BuildBundleInfo>(10000);
|
private readonly Dictionary<string, BuildBundleInfo> _bundleInfoDic = new Dictionary<string, BuildBundleInfo>(10000);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 冗余的资源列表
|
|
||||||
/// </summary>
|
|
||||||
public readonly List<ReportRedundancyAsset> RedundancyInfos = new List<ReportRedundancyAsset>(1000);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 未被依赖的资源列表
|
/// 未被依赖的资源列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -107,8 +107,7 @@ namespace YooAsset.Editor
|
||||||
buildReport.BundleInfos.Add(reportBundleInfo);
|
buildReport.BundleInfos.Add(reportBundleInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 资源列表
|
// 其它资源列表
|
||||||
buildReport.RedundancyAssets = new List<ReportRedundancyAsset>(buildMapContext.RedundancyInfos);
|
|
||||||
buildReport.IndependAssets = new List<ReportIndependAsset>(buildMapContext.IndependAssets);
|
buildReport.IndependAssets = new List<ReportIndependAsset>(buildMapContext.IndependAssets);
|
||||||
|
|
||||||
// 序列化文件
|
// 序列化文件
|
||||||
|
|
|
@ -102,22 +102,7 @@ namespace YooAsset.Editor
|
||||||
context.AssetFileCount = allBuildAssetInfos.Count;
|
context.AssetFileCount = allBuildAssetInfos.Count;
|
||||||
context.Command = collectResult.Command;
|
context.Command = collectResult.Command;
|
||||||
|
|
||||||
// 8. 记录冗余资源
|
// 8. 移除不参与构建的资源
|
||||||
foreach (var buildAssetInfo in allBuildAssetInfos.Values)
|
|
||||||
{
|
|
||||||
if (buildAssetInfo.IsRedundancyAsset())
|
|
||||||
{
|
|
||||||
var redundancyAsset = new ReportRedundancyAsset();
|
|
||||||
redundancyAsset.AssetPath = buildAssetInfo.AssetInfo.AssetPath;
|
|
||||||
redundancyAsset.AssetGUID = buildAssetInfo.AssetInfo.AssetGUID;
|
|
||||||
redundancyAsset.AssetType = buildAssetInfo.AssetInfo.AssetType.ToString();
|
|
||||||
redundancyAsset.FileSize = FileUtility.GetFileSize(buildAssetInfo.AssetInfo.AssetPath);
|
|
||||||
redundancyAsset.Number = buildAssetInfo.GetReferenceBundleCount();
|
|
||||||
context.RedundancyInfos.Add(redundancyAsset);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 9. 移除不参与构建的资源
|
|
||||||
List<BuildAssetInfo> removeBuildList = new List<BuildAssetInfo>();
|
List<BuildAssetInfo> removeBuildList = new List<BuildAssetInfo>();
|
||||||
foreach (var buildAssetInfo in allBuildAssetInfos.Values)
|
foreach (var buildAssetInfo in allBuildAssetInfos.Values)
|
||||||
{
|
{
|
||||||
|
@ -129,7 +114,7 @@ namespace YooAsset.Editor
|
||||||
allBuildAssetInfos.Remove(removeValue.AssetInfo.AssetPath);
|
allBuildAssetInfos.Remove(removeValue.AssetInfo.AssetPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 10. 构建资源列表
|
// 9. 构建资源列表
|
||||||
var allPackAssets = allBuildAssetInfos.Values.ToList();
|
var allPackAssets = allBuildAssetInfos.Values.ToList();
|
||||||
if (allPackAssets.Count == 0)
|
if (allPackAssets.Count == 0)
|
||||||
{
|
{
|
||||||
|
|
|
@ -46,7 +46,6 @@ namespace YooAsset.Editor
|
||||||
private ReporterSummaryViewer _summaryViewer;
|
private ReporterSummaryViewer _summaryViewer;
|
||||||
private ReporterAssetListViewer _assetListViewer;
|
private ReporterAssetListViewer _assetListViewer;
|
||||||
private ReporterBundleListViewer _bundleListViewer;
|
private ReporterBundleListViewer _bundleListViewer;
|
||||||
private ReporterRedundancyListViewer _redundancyListViewer;
|
|
||||||
|
|
||||||
private EViewMode _viewMode;
|
private EViewMode _viewMode;
|
||||||
private BuildReport _buildReport;
|
private BuildReport _buildReport;
|
||||||
|
@ -94,10 +93,6 @@ namespace YooAsset.Editor
|
||||||
_bundleListViewer = new ReporterBundleListViewer();
|
_bundleListViewer = new ReporterBundleListViewer();
|
||||||
_bundleListViewer.InitViewer();
|
_bundleListViewer.InitViewer();
|
||||||
|
|
||||||
// 加载试图
|
|
||||||
_redundancyListViewer = new ReporterRedundancyListViewer();
|
|
||||||
_redundancyListViewer.InitViewer();
|
|
||||||
|
|
||||||
// 显示视图
|
// 显示视图
|
||||||
_viewMode = EViewMode.Summary;
|
_viewMode = EViewMode.Summary;
|
||||||
_viewModeMenu.text = EViewMode.Summary.ToString();
|
_viewModeMenu.text = EViewMode.Summary.ToString();
|
||||||
|
@ -125,7 +120,6 @@ namespace YooAsset.Editor
|
||||||
_summaryViewer.FillViewData(_buildReport);
|
_summaryViewer.FillViewData(_buildReport);
|
||||||
_assetListViewer.FillViewData(_buildReport, _searchKeyWord);
|
_assetListViewer.FillViewData(_buildReport, _searchKeyWord);
|
||||||
_bundleListViewer.FillViewData(_buildReport, _reportFilePath, _searchKeyWord);
|
_bundleListViewer.FillViewData(_buildReport, _reportFilePath, _searchKeyWord);
|
||||||
_redundancyListViewer.FillViewData(_buildReport, _searchKeyWord);
|
|
||||||
}
|
}
|
||||||
private void OnSearchKeyWordChange(ChangeEvent<string> e)
|
private void OnSearchKeyWordChange(ChangeEvent<string> e)
|
||||||
{
|
{
|
||||||
|
@ -146,7 +140,6 @@ namespace YooAsset.Editor
|
||||||
_summaryViewer.AttachParent(root);
|
_summaryViewer.AttachParent(root);
|
||||||
_assetListViewer.DetachParent();
|
_assetListViewer.DetachParent();
|
||||||
_bundleListViewer.DetachParent();
|
_bundleListViewer.DetachParent();
|
||||||
_redundancyListViewer.DetachParent();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void ViewModeMenuAction1(DropdownMenuAction action)
|
private void ViewModeMenuAction1(DropdownMenuAction action)
|
||||||
|
@ -159,7 +152,6 @@ namespace YooAsset.Editor
|
||||||
_summaryViewer.DetachParent();
|
_summaryViewer.DetachParent();
|
||||||
_assetListViewer.AttachParent(root);
|
_assetListViewer.AttachParent(root);
|
||||||
_bundleListViewer.DetachParent();
|
_bundleListViewer.DetachParent();
|
||||||
_redundancyListViewer.DetachParent();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void ViewModeMenuAction2(DropdownMenuAction action)
|
private void ViewModeMenuAction2(DropdownMenuAction action)
|
||||||
|
@ -172,7 +164,6 @@ namespace YooAsset.Editor
|
||||||
_summaryViewer.DetachParent();
|
_summaryViewer.DetachParent();
|
||||||
_assetListViewer.DetachParent();
|
_assetListViewer.DetachParent();
|
||||||
_bundleListViewer.AttachParent(root);
|
_bundleListViewer.AttachParent(root);
|
||||||
_redundancyListViewer.DetachParent();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void ViewModeMenuAction3(DropdownMenuAction action)
|
private void ViewModeMenuAction3(DropdownMenuAction action)
|
||||||
|
@ -185,7 +176,6 @@ namespace YooAsset.Editor
|
||||||
_summaryViewer.DetachParent();
|
_summaryViewer.DetachParent();
|
||||||
_assetListViewer.DetachParent();
|
_assetListViewer.DetachParent();
|
||||||
_bundleListViewer.DetachParent();
|
_bundleListViewer.DetachParent();
|
||||||
_redundancyListViewer.AttachParent(root);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private DropdownMenuAction.Status ViewModeMenuFun0(DropdownMenuAction action)
|
private DropdownMenuAction.Status ViewModeMenuFun0(DropdownMenuAction action)
|
||||||
|
|
|
@ -27,11 +27,6 @@ namespace YooAsset.Editor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<ReportBundleInfo> BundleInfos = new List<ReportBundleInfo>();
|
public List<ReportBundleInfo> BundleInfos = new List<ReportBundleInfo>();
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 冗余的资源列表
|
|
||||||
/// </summary>
|
|
||||||
public List<ReportRedundancyAsset> RedundancyAssets = new List<ReportRedundancyAsset>();
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 未被依赖的资源列表
|
/// 未被依赖的资源列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
using System;
|
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
namespace YooAsset.Editor
|
|
||||||
{
|
|
||||||
[Serializable]
|
|
||||||
public class ReportRedundancyAsset
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// 资源路径
|
|
||||||
/// </summary>
|
|
||||||
public string AssetPath;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 资源GUID
|
|
||||||
/// </summary>
|
|
||||||
public string AssetGUID;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 资源类型
|
|
||||||
/// </summary>
|
|
||||||
public string AssetType;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 资源文件大小
|
|
||||||
/// </summary>
|
|
||||||
public long FileSize;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 冗余的资源包数量
|
|
||||||
/// </summary>
|
|
||||||
public int Number;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: 7fbb7b27f54d3b0439a951348fd9d785
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,317 +0,0 @@
|
||||||
#if UNITY_2019_4_OR_NEWER
|
|
||||||
using System;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using UnityEditor;
|
|
||||||
using UnityEngine;
|
|
||||||
using UnityEditor.UIElements;
|
|
||||||
using UnityEngine.UIElements;
|
|
||||||
|
|
||||||
namespace YooAsset.Editor
|
|
||||||
{
|
|
||||||
internal class ReporterRedundancyListViewer
|
|
||||||
{
|
|
||||||
private enum ESortMode
|
|
||||||
{
|
|
||||||
AssetPath,
|
|
||||||
AssetType,
|
|
||||||
FileSize,
|
|
||||||
Number,
|
|
||||||
}
|
|
||||||
|
|
||||||
private VisualTreeAsset _visualAsset;
|
|
||||||
private TemplateContainer _root;
|
|
||||||
|
|
||||||
private ToolbarButton _topBar1;
|
|
||||||
private ToolbarButton _topBar2;
|
|
||||||
private ToolbarButton _topBar3;
|
|
||||||
private ToolbarButton _topBar4;
|
|
||||||
private ListView _assetListView;
|
|
||||||
|
|
||||||
private BuildReport _buildReport;
|
|
||||||
private string _searchKeyWord;
|
|
||||||
private ESortMode _sortMode = ESortMode.AssetPath;
|
|
||||||
private bool _descendingSort = false;
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 初始化页面
|
|
||||||
/// </summary>
|
|
||||||
public void InitViewer()
|
|
||||||
{
|
|
||||||
// 加载布局文件
|
|
||||||
_visualAsset = UxmlLoader.LoadWindowUXML<ReporterRedundancyListViewer>();
|
|
||||||
if (_visualAsset == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
_root = _visualAsset.CloneTree();
|
|
||||||
_root.style.flexGrow = 1f;
|
|
||||||
|
|
||||||
// 顶部按钮栏
|
|
||||||
_topBar1 = _root.Q<ToolbarButton>("TopBar1");
|
|
||||||
_topBar2 = _root.Q<ToolbarButton>("TopBar2");
|
|
||||||
_topBar3 = _root.Q<ToolbarButton>("TopBar3");
|
|
||||||
_topBar4 = _root.Q<ToolbarButton>("TopBar4");
|
|
||||||
_topBar1.clicked += TopBar1_clicked;
|
|
||||||
_topBar2.clicked += TopBar2_clicked;
|
|
||||||
_topBar3.clicked += TopBar3_clicked;
|
|
||||||
_topBar4.clicked += TopBar4_clicked;
|
|
||||||
|
|
||||||
// 资源列表
|
|
||||||
_assetListView = _root.Q<ListView>("TopListView");
|
|
||||||
_assetListView.makeItem = MakeAssetListViewItem;
|
|
||||||
_assetListView.bindItem = BindAssetListViewItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 填充页面数据
|
|
||||||
/// </summary>
|
|
||||||
public void FillViewData(BuildReport buildReport, string searchKeyWord)
|
|
||||||
{
|
|
||||||
_buildReport = buildReport;
|
|
||||||
_searchKeyWord = searchKeyWord;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
private void RefreshView()
|
|
||||||
{
|
|
||||||
_assetListView.Clear();
|
|
||||||
_assetListView.ClearSelection();
|
|
||||||
_assetListView.itemsSource = FilterAndSortViewItems();
|
|
||||||
_assetListView.Rebuild();
|
|
||||||
RefreshSortingSymbol();
|
|
||||||
}
|
|
||||||
private List<ReportRedundancyAsset> FilterAndSortViewItems()
|
|
||||||
{
|
|
||||||
List<ReportRedundancyAsset> result = new List<ReportRedundancyAsset>(_buildReport.RedundancyAssets.Count);
|
|
||||||
|
|
||||||
// 过滤列表
|
|
||||||
foreach (var redundancyInfo in _buildReport.RedundancyAssets)
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(_searchKeyWord) == false)
|
|
||||||
{
|
|
||||||
if (redundancyInfo.AssetPath.Contains(_searchKeyWord) == false)
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
result.Add(redundancyInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 排序列表
|
|
||||||
if (_sortMode == ESortMode.AssetPath)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
return result.OrderByDescending(a => a.AssetPath).ToList();
|
|
||||||
else
|
|
||||||
return result.OrderBy(a => a.AssetPath).ToList();
|
|
||||||
}
|
|
||||||
else if (_sortMode == ESortMode.AssetType)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
return result.OrderByDescending(a => a.AssetType).ToList();
|
|
||||||
else
|
|
||||||
return result.OrderBy(a => a.AssetType).ToList();
|
|
||||||
}
|
|
||||||
else if (_sortMode == ESortMode.FileSize)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
return result.OrderByDescending(a => a.FileSize).ToList();
|
|
||||||
else
|
|
||||||
return result.OrderBy(a => a.FileSize).ToList();
|
|
||||||
}
|
|
||||||
else if (_sortMode == ESortMode.Number)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
return result.OrderByDescending(a => a.Number).ToList();
|
|
||||||
else
|
|
||||||
return result.OrderBy(a => a.Number).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void RefreshSortingSymbol()
|
|
||||||
{
|
|
||||||
_topBar1.text = $"Asset Path ({_assetListView.itemsSource.Count})";
|
|
||||||
_topBar2.text = "Asset Type";
|
|
||||||
_topBar3.text = "File Size";
|
|
||||||
_topBar4.text = "Redundancy Num";
|
|
||||||
|
|
||||||
if (_sortMode == ESortMode.AssetPath)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
_topBar1.text = $"Asset Path ({_assetListView.itemsSource.Count}) ↓";
|
|
||||||
else
|
|
||||||
_topBar1.text = $"Asset Path ({_assetListView.itemsSource.Count}) ↑";
|
|
||||||
}
|
|
||||||
else if (_sortMode == ESortMode.AssetType)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
_topBar2.text = "Asset Type ↓";
|
|
||||||
else
|
|
||||||
_topBar2.text = "Asset Type ↑";
|
|
||||||
}
|
|
||||||
else if (_sortMode == ESortMode.FileSize)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
_topBar3.text = "File Size ↓";
|
|
||||||
else
|
|
||||||
_topBar3.text = "File Size ↑";
|
|
||||||
}
|
|
||||||
else if (_sortMode == ESortMode.Number)
|
|
||||||
{
|
|
||||||
if (_descendingSort)
|
|
||||||
_topBar4.text = "Redundancy Num ↓";
|
|
||||||
else
|
|
||||||
_topBar4.text = "Redundancy Num ↑";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
throw new System.NotImplementedException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 挂接到父类页面上
|
|
||||||
/// </summary>
|
|
||||||
public void AttachParent(VisualElement parent)
|
|
||||||
{
|
|
||||||
parent.Add(_root);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 从父类页面脱离开
|
|
||||||
/// </summary>
|
|
||||||
public void DetachParent()
|
|
||||||
{
|
|
||||||
_root.RemoveFromHierarchy();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 资源列表相关
|
|
||||||
private VisualElement MakeAssetListViewItem()
|
|
||||||
{
|
|
||||||
VisualElement element = new VisualElement();
|
|
||||||
element.style.flexDirection = FlexDirection.Row;
|
|
||||||
|
|
||||||
{
|
|
||||||
var label = new Label();
|
|
||||||
label.name = "Label1";
|
|
||||||
label.style.unityTextAlign = TextAnchor.MiddleLeft;
|
|
||||||
label.style.marginLeft = 3f;
|
|
||||||
label.style.flexGrow = 1f;
|
|
||||||
label.style.width = 280;
|
|
||||||
element.Add(label);
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
var label = new Label();
|
|
||||||
label.name = "Label2";
|
|
||||||
label.style.unityTextAlign = TextAnchor.MiddleLeft;
|
|
||||||
label.style.marginLeft = 3f;
|
|
||||||
label.style.flexGrow = 0;
|
|
||||||
label.style.width = 200;
|
|
||||||
element.Add(label);
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
var label = new Label();
|
|
||||||
label.name = "Label3";
|
|
||||||
label.style.unityTextAlign = TextAnchor.MiddleLeft;
|
|
||||||
label.style.marginLeft = 3f;
|
|
||||||
label.style.flexGrow = 0;
|
|
||||||
label.style.width = 125;
|
|
||||||
element.Add(label);
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
var label = new Label();
|
|
||||||
label.name = "Label4";
|
|
||||||
label.style.unityTextAlign = TextAnchor.MiddleLeft;
|
|
||||||
label.style.marginLeft = 3f;
|
|
||||||
label.style.flexGrow = 0;
|
|
||||||
label.style.width = 125;
|
|
||||||
element.Add(label);
|
|
||||||
}
|
|
||||||
|
|
||||||
return element;
|
|
||||||
}
|
|
||||||
private void BindAssetListViewItem(VisualElement element, int index)
|
|
||||||
{
|
|
||||||
var sourceData = _assetListView.itemsSource as List<ReportRedundancyAsset>;
|
|
||||||
var redundancyInfo = sourceData[index];
|
|
||||||
|
|
||||||
// Asset Path
|
|
||||||
var label1 = element.Q<Label>("Label1");
|
|
||||||
label1.text = redundancyInfo.AssetPath;
|
|
||||||
|
|
||||||
// Asset Type
|
|
||||||
var label2 = element.Q<Label>("Label2");
|
|
||||||
label2.text = redundancyInfo.AssetType.ToString();
|
|
||||||
|
|
||||||
// File Size
|
|
||||||
var label3 = element.Q<Label>("Label3");
|
|
||||||
label3.text = EditorUtility.FormatBytes(redundancyInfo.FileSize);
|
|
||||||
|
|
||||||
// Number
|
|
||||||
var label4 = element.Q<Label>("Label4");
|
|
||||||
label4.text = redundancyInfo.Number.ToString();
|
|
||||||
}
|
|
||||||
private void TopBar1_clicked()
|
|
||||||
{
|
|
||||||
if (_sortMode != ESortMode.AssetPath)
|
|
||||||
{
|
|
||||||
_sortMode = ESortMode.AssetPath;
|
|
||||||
_descendingSort = false;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_descendingSort = !_descendingSort;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void TopBar2_clicked()
|
|
||||||
{
|
|
||||||
if (_sortMode != ESortMode.AssetType)
|
|
||||||
{
|
|
||||||
_sortMode = ESortMode.AssetType;
|
|
||||||
_descendingSort = false;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_descendingSort = !_descendingSort;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void TopBar3_clicked()
|
|
||||||
{
|
|
||||||
if (_sortMode != ESortMode.FileSize)
|
|
||||||
{
|
|
||||||
_sortMode = ESortMode.FileSize;
|
|
||||||
_descendingSort = false;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_descendingSort = !_descendingSort;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private void TopBar4_clicked()
|
|
||||||
{
|
|
||||||
if (_sortMode != ESortMode.Number)
|
|
||||||
{
|
|
||||||
_sortMode = ESortMode.Number;
|
|
||||||
_descendingSort = false;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_descendingSort = !_descendingSort;
|
|
||||||
RefreshView();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,11 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: a72c4edf1a81c9942a9d43e9d2a77b53
|
|
||||||
MonoImporter:
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
defaultReferences: []
|
|
||||||
executionOrder: 0
|
|
||||||
icon: {instanceID: 0}
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
|
@ -1,11 +0,0 @@
|
||||||
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements" editor-extension-mode="False">
|
|
||||||
<ui:VisualElement name="TopGroup" style="flex-grow: 1; border-left-width: 1px; border-right-width: 1px; border-top-width: 1px; border-bottom-width: 1px; border-left-color: rgb(0, 0, 0); border-right-color: rgb(0, 0, 0); border-top-color: rgb(0, 0, 0); border-bottom-color: rgb(0, 0, 0); margin-left: 0; margin-right: 0; margin-top: 2px; margin-bottom: 1px; display: flex;">
|
|
||||||
<uie:Toolbar name="TopBar" style="height: 25px; margin-left: 1px; margin-right: 1px;">
|
|
||||||
<uie:ToolbarButton text="Asset Path" display-tooltip-when-elided="true" name="TopBar1" style="width: 280px; -unity-text-align: middle-left; flex-grow: 1;" />
|
|
||||||
<uie:ToolbarButton text="Asset Type" display-tooltip-when-elided="true" name="TopBar2" style="width: 200px; -unity-text-align: middle-left; flex-grow: 0; flex-shrink: 1;" />
|
|
||||||
<uie:ToolbarButton text="File Size" display-tooltip-when-elided="true" name="TopBar3" style="width: 125px; -unity-text-align: middle-left; flex-grow: 0; flex-shrink: 1;" />
|
|
||||||
<uie:ToolbarButton text="Redundancy Num" display-tooltip-when-elided="true" name="TopBar4" style="width: 125px; -unity-text-align: middle-left; flex-grow: 0; flex-shrink: 1;" />
|
|
||||||
</uie:Toolbar>
|
|
||||||
<ui:ListView focusable="true" name="TopListView" item-height="18" virtualization-method="DynamicHeight" style="flex-grow: 1; flex-basis: 60px;" />
|
|
||||||
</ui:VisualElement>
|
|
||||||
</ui:UXML>
|
|
|
@ -1,10 +0,0 @@
|
||||||
fileFormatVersion: 2
|
|
||||||
guid: a5296d9c037ce3944b5c197cbdd78a8b
|
|
||||||
ScriptedImporter:
|
|
||||||
internalIDToNameTable: []
|
|
||||||
externalObjects: {}
|
|
||||||
serializedVersion: 2
|
|
||||||
userData:
|
|
||||||
assetBundleName:
|
|
||||||
assetBundleVariant:
|
|
||||||
script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
|
|
Loading…
Reference in New Issue