AcManager.Tools.Managers.AcRootDirectory.CheckDirectory C# (CSharp) Méthode

CheckDirectory() public static méthode

public static CheckDirectory ( string directory, string &reason ) : bool
directory string
reason string
Résultat bool
        public static bool CheckDirectory(string directory, out string reason) {
            if (directory == null) {
                reason = ToolsStrings.AcRootDirectory_NotDefined;
                return false;
            }

            if (!OptionDisableChecking) {
                if (!Directory.Exists(directory)) {
                    reason = ToolsStrings.AcRootDirectory_Missing;
                    return false;
                }

                if (!Directory.Exists(Path.Combine(directory, @"apps"))) {
                    reason = string.Format(ToolsStrings.AcRootDirectory_MissingDirectory, @"apps");
                    return false;
                }

                if (!Directory.Exists(Path.Combine(directory, @"content"))) {
                    reason = string.Format(ToolsStrings.AcRootDirectory_MissingDirectory, @"content");
                    return false;
                }

                if (!Directory.Exists(Path.Combine(directory, @"content", @"cars"))) {
                    reason = string.Format(ToolsStrings.AcRootDirectory_MissingDirectory, @"content\cars");
                    return false;
                }

                if (!Directory.Exists(Path.Combine(directory, @"content", @"tracks"))) {
                    reason = string.Format(ToolsStrings.AcRootDirectory_MissingDirectory, @"content\tracks");
                    return false;
                }

                if (!File.Exists(Path.Combine(directory, @"acs.exe"))) {
                    reason = string.Format(ToolsStrings.AcRootDirectory_MissingFile, @"acs.exe");
                    return false;
                }
            }

            var launcher = Path.Combine(directory, "AssettoCorsa.exe");
            if (!File.Exists(launcher)) {
                var backup = launcher.ApartFromLast(@".exe", StringComparison.OrdinalIgnoreCase) + @"_backup_ts.exe";
                if (File.Exists(backup)) {
                    TryToFix(backup, launcher);
                }
            }

            if (!File.Exists(launcher)) {
                var backup = launcher.ApartFromLast(@".exe", StringComparison.OrdinalIgnoreCase) + @"_backup_sp.exe";
                if (File.Exists(backup)) {
                    TryToFix(backup, launcher);
                }
            }

            if (!File.Exists(launcher)) {
                reason = string.Format(ToolsStrings.AcRootDirectory_MissingFile, @"AssettoCorsa.exe");
                return false;
            }

            reason = null;
            return true;
        }

Same methods

AcRootDirectory::CheckDirectory ( string directory ) : bool