StandaloneBSPValidator.GeneratedProject.DoImportSampleRecursively C# (CSharp) Method

DoImportSampleRecursively() public method

public DoImportSampleRecursively ( string>.Dictionary bspDict, ConfiguredSample sample, string sourceDir, string targetDir, bool>.Dictionary binaryFiles, bool>.Dictionary ignoredFiles, bool plainC, string relativePath ) : void
bspDict string>.Dictionary
sample ConfiguredSample
sourceDir string
targetDir string
binaryFiles bool>.Dictionary
ignoredFiles bool>.Dictionary
plainC bool
relativePath string
return void
        void DoImportSampleRecursively(Dictionary<string, string> bspDict, ConfiguredSample sample, string sourceDir, string targetDir, Dictionary<string, bool> binaryFiles, Dictionary<string, bool> ignoredFiles, bool plainC, string relativePath)
        {
            foreach (var fn in Directory.GetFiles(sourceDir))
            {
                try
                {
                    string target = Path.Combine(targetDir, Path.GetFileName(fn));
                    if (!plainC && Path.GetExtension(target).ToLower() == ".c" && !sample.Sample.Sample.DoNotUpgradeCToCpp)
                        target = Path.ChangeExtension(target, ".cpp");
                    else if (plainC && Path.GetExtension(target).ToLower() == ".cpp")
                        target = Path.ChangeExtension(target, ".c");

                    if (target.Contains("$$"))
                        target = VariableHelper.ExpandVariables(target, bspDict, sample.Parameters);

                    if (ignoredFiles.ContainsKey(fn))
                        continue;
                    if (binaryFiles.ContainsKey(fn))
                        File.Copy(fn, target);
                    else
                    {
                        string str = File.ReadAllText(fn);

                        str = VariableHelper.ExpandVariables(str, bspDict, sample.Parameters);
                        File.WriteAllText(target, str);
                    }

                    string ext = Path.GetExtension(target).ToLower();
                    if (ext != ".h" && ext != ".hpp")
                        _SourceFiles.Add(target);
                }
                catch
                {
                }
            }
            foreach (var fn in Directory.GetDirectories(sourceDir))
            {
                string target;
                try
                {
                    target = Path.Combine(targetDir, Path.GetFileName(fn));
                    Directory.CreateDirectory(target);
                }
                catch
                {
                    continue;
                }
                DoImportSampleRecursively(bspDict, sample, fn, target, binaryFiles, ignoredFiles, plainC, relativePath + Path.GetFileName(fn) + "\\");
            }
        }