private void Initialize(ILauncherSettings settings) { Context = CreateContext(settings); if (Data.SoftwareVersion != null) { Data.SoftwareVersion.text = $"v{settings.SoftwareVersion}"; } Initialize(Context); }
protected UpdatingContext CreateContext(ILauncherSettings settings) { var progress = new ProgressReporter(); progress.ProgressChanged.AddListener(Data.UpdateProgressChanged); var context = new UpdatingContext(settings, progress); context.Logger = new MHLab.Patch.Utilities.Logging.Logger(settings.GetLogsFilePath()); context.Serializer = new NewtonsoftSerializer(); context.LocalizedMessages = new EnglishUpdaterLocalizedMessages(); return(context); }
protected override void Initialize(UpdatingContext context) { context.OverrideSettings <SettingsOverride>((originalSettings, settingsOverride) => { originalSettings.DebugMode = settingsOverride.DebugMode; originalSettings.PatcherUpdaterSafeMode = settingsOverride.PatcherUpdaterSafeMode; }); context.Downloader.DownloadComplete += Data.DownloadComplete; NetworkChecker = new NetworkChecker(); _patcherUpdater = new PatcherUpdater(context); context.RegisterUpdateStep(_patcherUpdater); context.Runner.PerformedStep += (sender, updater) => { if (context.IsDirty(out var reasons, out var data)) { var stringReasons = ""; foreach (var reason in reasons) { stringReasons += $"{reason}, "; } stringReasons = stringReasons.Substring(0, stringReasons.Length - 2); context.Logger.Debug( $"Context is set to dirty: updater restart required. The files {stringReasons} have been replaced."); if (data.Count > 0) { if (data[0] is UpdaterSafeModeDefinition) { var definition = (UpdaterSafeModeDefinition)data[0]; UpdateRestartNeeded(definition.ExecutableToRun); return; } } UpdateRestartNeeded(); } }; _timeFromLastCheck = TimeBetweenEachCheckInSeconds; _isPreviousUpdateCompleted = true; Data.ProgressBar.gameObject.SetActive(false); }
private UpdatingContext CreateContext(ILauncherSettings settings) { var progress = new ProgressReporter(); progress.ProgressChanged.AddListener(Data.UpdateProgressChanged); var context = new UpdatingContext(settings, progress); context.Logger = new SimpleLogger(context.FileSystem, settings.GetLogsFilePath(), settings.DebugMode); context.Serializer = new JsonSerializer(); context.LocalizedMessages = new EnglishUpdaterLocalizedMessages(); return(context); }
protected override void Initialize(UpdatingContext context) { context.OverrideSettings <SettingsOverride>((originalSettings, settingsOverride) => { originalSettings.DebugMode = settingsOverride.DebugMode; originalSettings.PatcherUpdaterSafeMode = settingsOverride.PatcherUpdaterSafeMode; }); NetworkChecker = new NetworkChecker(); _repairer = new Repairer(context); _repairer.Downloader.DownloadComplete += Data.DownloadComplete; _updater = new Updater(context); _updater.Downloader.DownloadComplete += Data.DownloadComplete; context.RegisterUpdateStep(_repairer); context.RegisterUpdateStep(_updater); context.Runner.PerformedStep += (sender, updater) => { if (context.IsDirty(out var reasons, out var data)) { var stringReasons = ""; foreach (var reason in reasons) { stringReasons += $"{reason}, "; } stringReasons = stringReasons.Substring(0, stringReasons.Length - 2); context.Logger.Debug($"Context is set to dirty: updater restart required. The files {stringReasons} have been replaced."); if (data.Count > 0) { if (data[0] is UpdaterSafeModeDefinition) { var definition = (UpdaterSafeModeDefinition)data[0]; UpdateRestartNeeded(definition.ExecutableToRun); return; } } UpdateRestartNeeded(); } }; }
protected override void Initialize(UpdatingContext context) { _patcherUpdater = new PatcherUpdater(context); _patcherUpdater.Downloader = new SmartDownloader(); _patcherUpdater.Downloader.DownloadComplete += Data.DownloadComplete; _patcherUpdater.Downloader.ProgressChanged += Data.DownloadProgressChanged; context.RegisterUpdateStep(_patcherUpdater); context.Runner.PerformedStep += (sender, updater) => { if (context.IsDirty(out var reasons)) { context.Logger.Debug("Context is set to dirty: updater restart required. The files {DirtyFiles} have been replaced.", reasons); UpdateRestartNeeded(); } }; }
protected abstract void Initialize(UpdatingContext context);
private void Initialize(ILauncherSettings settings) { Context = CreateContext(settings); Initialize(Context); }