Example #1
0
 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);
             }
         }
     }
 }
Example #2
0
 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);
         }
     }
 }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
 internal static void CopyDirectoryRecursiveFiltered(string source, string target, bool overwrite, string regExExcludeFilter)
 {
     FileUtil.CopyDirectoryFiltered(source, target, overwrite, regExExcludeFilter, true);
 }
Example #6
0
 internal static void CopyDirectory(string source, string target, bool overwrite)
 {
     FileUtil.CopyDirectoryFiltered(source, target, overwrite, (string f) => true, false);
 }