protected override async Task<BundleManager> CreateRepoIfNotExistent(ContentPaths modPaths, IEnumerable<KeyValuePair<Guid, Uri[]>> remotes) { var bm = await base.CreateRepoIfNotExistent(modPaths, remotes).ConfigureAwait(false); Game.WhenAny(x => x.PrimaryContentPath.Path, x => x.Value).Subscribe(x => { bm.PackageManager.Settings.GlobalWorkingPath = x; bm.PackageManager.Settings.CheckoutType = CheckoutType.CheckoutWithoutRemoval; }); return bm; }
public ModAndSynqPathsChangedEvent(ISupportModding game, ContentPaths oldPaths, ContentPaths newPaths) { if (game == null) { throw new ArgumentNullException(nameof(game)); } Game = game; OldPaths = oldPaths; NewPaths = newPaths; }
public bool EqualRepositoryPath(ContentPaths other) => RepositoryPath.EqualsNullSupported(other.RepositoryPath);
public bool EqualPath(ContentPaths other) => Path.EqualsNullSupported(other.Path);
protected virtual Task<BundleManager> CreateRepoIfNotExistent(ContentPaths modPaths, IEnumerable<KeyValuePair<Guid, Uri[]>> remotes) { var modPath = modPaths.Path; var synqBasePath = modPaths.RepositoryPath; var synqPath = synqBasePath.GetChildDirectoryWithName(Repository.DefaultRepoRootDirectory); return RepositoryHandler.GetBundleManager(synqPath, modPath, remotes); }