private void MarkABFolder(ResBuilderConfig.ABFolder abFolder) { string folder = abFolder.folder.Replace(@"\", "/"); string folder2 = ResHelper.RES_PATH + abFolder.folder; if (!folder.EndsWith("/")) { folder2 += "/"; } var assetPaths = AssetDatabase.GetAllAssetPaths().Where((path) => { if (!path.StartsWith(folder2)) { return(false); } if (Directory.Exists(path)) { return(false); } if (path.EndsWith(".cs") || path.EndsWith(".asset")) { return(false); } //过滤失败 if (abFolder.filter != null) { if (!abFolder.filter(path)) { return(false); } } if (config.CheckIsExport != null) { if (!config.CheckIsExport(path)) { return(false); } } return(true); }); //assetPaths foreach (var assetPath in assetPaths) { MarkABAsset(assetPath, abFolder.renamer); } }