protected void AddRootTargets(AssetBundleBuildRuleData.Rule rule) { var bundleDir = new DirectoryInfo(rule.directory); //Debug.Log(bundleDir.FullName); var patterns = rule.patterns; SearchOption searchOption = rule.recursion ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly; for (int i = 0; i < patterns.Length; i++) { FileInfo[] prefabs = bundleDir.GetFiles(patterns[i], searchOption); foreach (FileInfo file in prefabs) { if (file.Extension.Contains("meta")) { continue; } AssetTarget target = AssetBundleUtils.Load(file); target.exportType = AssetBundleExportType.Root; if (!string.IsNullOrEmpty(rule.bundle)) { target.SetBundleName(Path.Combine(rule.directory, rule.bundle)); } } } }
public static void AddDummyRule(AssetBundleBuildRuleData.Rule rule) { //正则表达式转换 List <string> newpa = new List <string>(); foreach (var p in rule.patterns) { string pa = p; if (pa == "*.*") { pa = "*"; } pa = Regex.Escape(pa); //转义 pa = pa.Replace("\\*", ".*"); //处理 * pa = pa.Replace("\\?", ".?"); //处理 ? pa = "^" + pa + "$"; //首尾 newpa.Add(pa); } rule.patterns = newpa.ToArray(); _dummyRules.Add(rule); }