public ModController(IMod mod) : base(mod) { Contract.Requires<ArgumentNullException>(mod != null); _contentEngine = CalculatedGameSettings.ContentManager.ContentEngine; Mod = mod; TryGetModScript(); _modState = new ModState(mod); _sixSyncModInstaller = new SixSyncModInstaller(mod, _modState); Model.State = _modState.State; }
public async Task ConvertOrInstallOrUpdateInternal(IAbsoluteDirectoryPath path, bool force, StatusRepo statusRepo, ModState modState, IAbsoluteDirectoryPath packPath) { Contract.Requires<ArgumentNullException>(path != null); Contract.Requires<ArgumentNullException>(statusRepo != null); Contract.Requires<ArgumentNullException>(modState != null); _path = path; var opts = GetOptions(statusRepo, packPath.ToString(), force); if (!modState.Exists) { await Install(opts).ConfigureAwait(false); return; } var updateAvailable = modState.State != ContentState.Uptodate; if (modState.DoesRepoExist()) await Update(opts, null, !updateAvailable).ConfigureAwait(false); else { var repo = Convert(opts); await Update(opts, repo).ConfigureAwait(false); } }
public SixSyncModInstaller(IMod mod, ModState state) { _mod = mod; _modState = state; }