/// <summary> /// 添加 /// </summary> private void InitOutputNode(IEnumerable <PerformGraph.AssetGroups> incoming) { //只获取第一个输出 var item = incoming.FirstOrDefault().assetGroups.FirstOrDefault(); //第一个key作为路径 if (!Directory.Exists(item.Key)) { Debug.LogError("不存在路径:" + item.Key); return; } //路径 var rootDir = item.Key; var subDirList = Directory.GetDirectories(rootDir, "*", SearchOption.TopDirectoryOnly).ToList(); var rootDirFiles = Directory.GetFiles(rootDir, "*", SearchOption.TopDirectoryOnly).Where((d) => !d.EndsWith(".meta")); if (rootDirFiles.Count() > 0) { subDirList.Add(rootDir); } //添加结束符 for (int i = 0; i < subDirList.Count; i++) { subDirList[i] = IPath.AddEndSymbol(subDirList[i]); } //删除不存在的 for (int i = this.groupFilterPathDataList.Count - 1; i >= 0; i--) { var gp = this.groupFilterPathDataList[0]; if (!subDirList.Contains(gp.GroupPath)) { this.RemoveOutputNode(gp.OutputNodeId); } } //添加目录 foreach (var dir in subDirList) { var ret = this.groupFilterPathDataList.Find((gf) => gf.GroupPath == dir); if (ret == null) { this.AddOutputNode(dir); } } }