static void _BuildReferencedTreeView(TreeViewCtrl referencedTreeView, TreeViewNode parent, List <U3DAssetInfo> assets) { if (assets.Count == 0) { return; } foreach (var a in assets) { TreeViewNode newNode = referencedTreeView.CreateNode(Path.GetFileName(a.path)); newNode.image = a.icon; newNode.tooptip = a.path; newNode.state.IsExpand = false; if (parent == null) { referencedTreeView.Roots.Add(newNode); } else { parent.Add(newNode); } List <U3DAssetInfo> nextLevelAssets = new List <U3DAssetInfo>(); ResourceManageToolModel.GetInstance().GetAssetReferenced(a.guid, out nextLevelAssets); _BuildReferencedTreeView(referencedTreeView, newNode, nextLevelAssets); } }
static void _BuildResourceRefTreeView(TreeViewCtrl resRefTreeView, TreeViewNode parent, List <U3DAssetInfo> deps) { if (deps.Count == 0) { return; } foreach (var asset in deps) { TreeViewNode newNode = resRefTreeView.CreateNode(Path.GetFileName(asset.path)); newNode.image = asset.icon; newNode.tooptip = asset.path; newNode.state.IsExpand = false; if (parent == null) { resRefTreeView.Roots.Add(newNode); } else { parent.Add(newNode); } //只构建第一层直接引用 //List<U3DAssetInfo> nextLevelDeps = new List<U3DAssetInfo>(); //ResourceManageToolModel.GetInstance().GetAssetDependencies(asset.guid, out nextLevelDeps); //_BuildResourceRefTreeView(resRefTreeView, newNode, nextLevelDeps); } }