AcManager.Tools.Starters.StarterPlus.IsPatched C# (CSharp) Method

IsPatched() private static method

private static IsPatched ( ) : bool
return bool
        private static bool IsPatched() {
            return AcRootDirectory.Instance.Value != null && IsPatched(LauncherFilename);
        }

Same methods

StarterPlus::IsPatched ( string filename ) : bool

Usage Example

Example #1
0
        private void CheckVersion()
        {
            if (!File.Exists(LauncherFilename))
            {
                throw new InformativeException(ToolsStrings.OfficialStarter_CannotRunGame, ToolsStrings.OfficialStarter_OriginalLauncherIsMissing);
            }

            if (!FileVersionInfo.GetVersionInfo(LauncherFilename).FileVersion.IsVersionOlderThan(@"0.16.714"))
            {
                return;
            }

            if (StarterPlus.IsPatched(LauncherFilename))
            {
                var backupFilename = StarterPlus.BackupFilename;
                if (!File.Exists(backupFilename))
                {
                    ModernDialog.ShowMessage(ToolsStrings.OfficialStarter_DownloadAndRestore, ToolsStrings.OfficialStarter_CannotRun, MessageBoxButton.OK);
                    throw new InformativeException(ToolsStrings.OfficialStarter_CannotRunGame, ToolsStrings.OfficialStarter_RestoreOriginalLauncher);
                }

                try {
                    File.Delete(LauncherFilename);
                } catch (Exception) {
                    if (ModernDialog.ShowMessage(
                            ToolsStrings.OfficialStarter_RestoreLauncherManually,
                            ToolsStrings.OfficialStarter_CannotRun, MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                    {
                        WindowsHelper.ViewFile(backupFilename);
                    }
                    throw new InformativeException(ToolsStrings.OfficialStarter_CannotRunGame, ToolsStrings.OfficialStarter_RestoreOriginalLauncher);
                }

                File.Copy(backupFilename, LauncherFilename);
                try {
                    File.Delete(backupFilename);
                } catch (Exception) {
                    // ignored
                }

                return;
            }

            if (ModernDialog.ShowMessage(ToolsStrings.OfficialStarter_GameIsTooOld, ToolsStrings.NotSupported, MessageBoxButton.YesNo) != MessageBoxResult.Yes)
            {
                throw new InformativeException(ToolsStrings.OfficialStarter_CannotRunGame, ToolsStrings.OfficialStarter_UpdateAC);
            }

            SettingsHolder.Drive.SelectedStarterType = SettingsHolder.DriveSettings.TrickyStarterType;
            throw new InformativeException(ToolsStrings.OfficialStarter_CannotRunGame, ToolsStrings.TryAgainDot);
        }