private void OnDependenciesLoadDataMore(string resPath, List <AssetTreeModel.AssetInfo> resInfos, AssetTreeModel treeModel) { // 去代码定义文件去查找 if (resPath != "\"Assets/Simple UI/PNG\"") { return; } int preLen = resPath.Length - "PNG".Length - 2; string codePath = "Assets/Demo/UISpriteDefine.cs"; try { string text = File.ReadAllText(codePath); foreach (var assetInfo in resInfos) { string searchText = assetInfo.fileRelativePath.Substring(preLen); searchText = searchText.Remove(searchText.Length - 4); if (text.Contains(searchText)) { AssetTreeModel.AssetInfo info = treeModel.GenAssetInfo(codePath); info.isExtra = true; assetInfo.AddChild(info); } } } catch (Exception ex) { Debug.LogError(ex.Message); } }
protected virtual bool OnWatcherImportedAssetsEvent(string[] importedAssets, bool resortItem) { if (importedAssets.Length == 0 || !resortItem || rootItem == null) { return(false); } Array.Sort(importedAssets, EditorUtility.NaturalCompare); foreach (var importedAsset in importedAssets) { var item = FindItemByAssetPath(rootItem, Path.GetDirectoryName(importedAsset)); if (item == null) { continue; } var assetInfo = GetItemAssetInfo(item); if (assetInfo == null) { continue; } // 查找是否原先已经有了(被删除再导入) var item2 = FindItemByAssetPath(item, importedAsset); if (item2 != null) { var assetInfo2 = GetItemAssetInfo(item2); if (assetInfo2 != null) { assetInfo2.deleted = false; assetInfo2.added = true; } } else { var assetInfo2 = m_Model.GenAssetInfo(importedAsset); assetInfo.AddChild(assetInfo2); item2 = new AssetTreeViewItem <AssetTreeModel.AssetInfo>(assetInfo2.id, -1, assetInfo2.displayName, assetInfo2); if (assetInfo2.isFolder) { item2.icon = AssetDanshariStyle.Get().folderIcon; } assetInfo2.added = true; item.AddChild(item2); } } SetupDepthsFromParentsAndChildren(rootItem); SortTreeViewNaturalCompare(rootItem); return(true); }