internal static void CopyDirectoryFiltered(string source, string target, bool overwrite, Func <string, bool> includeCallback, bool recursive) { if (!Directory.Exists(target)) { Directory.CreateDirectory(target); overwrite = false; } string[] files = Directory.GetFiles(source); for (int i = 0; i < files.Length; i++) { string text = files[i]; if (includeCallback(text)) { string fileName = Path.GetFileName(text); string to = Path.Combine(target, fileName); FileUtil.UnityFileCopy(text, to, overwrite); } } if (recursive) { string[] directories = Directory.GetDirectories(source); for (int j = 0; j < directories.Length; j++) { string text2 = directories[j]; if (includeCallback(text2)) { string fileName2 = Path.GetFileName(text2); FileUtil.CopyDirectoryFiltered(Path.Combine(source, fileName2), Path.Combine(target, fileName2), overwrite, includeCallback, recursive); } } } }
internal static void CopyDirectoryFiltered(string source, string target, bool overwrite, Func <string, bool> includeCallback, bool recursive) { if (!Directory.Exists(target)) { Directory.CreateDirectory(target); overwrite = false; } foreach (string file in Directory.GetFiles(source)) { if (includeCallback(file)) { string fileName = Path.GetFileName(file); string to = Path.Combine(target, fileName); FileUtil.UnityFileCopy(file, to, overwrite); } } if (!recursive) { return; } foreach (string directory in Directory.GetDirectories(source)) { if (includeCallback(directory)) { string fileName = Path.GetFileName(directory); FileUtil.CopyDirectoryFiltered(Path.Combine(source, fileName), Path.Combine(target, fileName), overwrite, includeCallback, recursive); } } }
internal static void CopyDirectoryFiltered(string source, string target, bool overwrite, string regExExcludeFilter, bool recursive) { // ISSUE: object of a compiler-generated type is created // ISSUE: variable of a compiler-generated type FileUtil.\u003CCopyDirectoryFiltered\u003Ec__AnonStorey13 filteredCAnonStorey13 = new FileUtil.\u003CCopyDirectoryFiltered\u003Ec__AnonStorey13(); // ISSUE: reference to a compiler-generated field filteredCAnonStorey13.exclude = (Regex)null; try { if (regExExcludeFilter != null) { // ISSUE: reference to a compiler-generated field filteredCAnonStorey13.exclude = new Regex(regExExcludeFilter); } } catch (ArgumentException ex) { Debug.Log((object)("CopyDirectoryRecursive: Pattern '" + regExExcludeFilter + "' is not a correct Regular Expression. Not excluding any files.")); return; } // ISSUE: reference to a compiler-generated method Func <string, bool> includeCallback = new Func <string, bool>(filteredCAnonStorey13.\u003C\u003Em__15); FileUtil.CopyDirectoryFiltered(source, target, overwrite, includeCallback, recursive); }
internal static void CopyDirectoryFiltered(string source, string target, bool overwrite, string regExExcludeFilter, bool recursive) { Regex exclude = null; try { if (regExExcludeFilter != null) { exclude = new Regex(regExExcludeFilter); } } catch (ArgumentException) { Debug.Log("CopyDirectoryRecursive: Pattern '" + regExExcludeFilter + "' is not a correct Regular Expression. Not excluding any files."); return; } Func <string, bool> includeCallback = (string file) => exclude == null || !exclude.IsMatch(file); FileUtil.CopyDirectoryFiltered(source, target, overwrite, includeCallback, recursive); }
internal static void CopyDirectoryRecursiveFiltered(string source, string target, bool overwrite, string regExExcludeFilter) { FileUtil.CopyDirectoryFiltered(source, target, overwrite, regExExcludeFilter, true); }
internal static void CopyDirectory(string source, string target, bool overwrite) { FileUtil.CopyDirectoryFiltered(source, target, overwrite, (string f) => true, false); }