2.5 KiB
2.5 KiB
EditorExtension ReferenceFinder 引用分析模块手册
模块概述
ReferenceFinder 用于分析项目资源的依赖与反向引用关系,支持缓存、树状展示和排序。
适用场景
- 查询资源被谁引用。
- 清理无用资源前做依赖确认。
- 排查深层依赖链和循环引用风险。
快速上手
using TEngine.Editor;
ResourceReferenceInfo.FindRef();
模块结构
ResourceReferenceInfo:入口与界面层。ReferenceFinderData:采集、缓存、状态管理。AssetTreeView:树状显示。SortHelper:排序逻辑。
可调用 API
类型:TEngine.Editor.ReferenceFinderData
源码:Packages/com.alicizax.unity.editor.extension/Editor/ReferenceFinder/ReferenceFinderData.cs
公开成员
AssetStateMinThreadCountallAssetsassetDictCollectDependenciesInfo()ReadAssetInfo()GetAsset(string dataPath, string assetPath)ReadFromCache()UpdateAssetState(string guid)GetInfoByState(AssetState state)ClearCache()GetRefCount(AssetDescription desc, AssetDescription parentDesc)
AssetDescription 字段
assetDependencyHashStringdependenciesnamepathreferencesstate
类型:TEngine.Editor.ResourceReferenceInfo
源码:Packages/com.alicizax.unity.editor.extension/Editor/ReferenceFinder/ResourceReferenceInfo.cs
公开成员
DataneedUpdateAssetTreeneedUpdateStateselectedAssetGuidmAssetTreeViewFindRef()DrawOptionBar()
类型:AssetTreeView
AssetTreeView(TreeViewState state, MultiColumnHeader multicolumnHeader)SortExpandItem()CreateDefaultMultiColumnHeaderState(float treeViewWidth, bool isDepend)
类型:ClickColumn
SortInColumnSortWithIndexClickColumn(MultiColumnHeaderState state)SortByName()SortByPath()
类型:DragAreaGetObject
GetObjects(string meg = null)
类型:SortHelper
Init()ChangeSortType(...)SortByName()SortByPath()SortChild(...)NormalSort(...)FastSort(...)CompareWithName(...)CompareWithNameDesc(...)CompareWithPath(...)CompareWithPathDesc(...)
其他公开类型
ListInfoSortTypeSortConfig
示例
var data = new TEngine.Editor.ReferenceFinderData();
data.CollectDependenciesInfo();
注意事项
- 大项目建议优先使用缓存。
- 资源大规模变更后建议先清缓存再重新采集。