private void SteamWorkshop_OnItemDownloaded(object sender, Workshop.DownloadItemEventArgs e) { if (e.Result.m_eResult != EResult.k_EResultOK) { MessageBox.Show($"{e.Result.m_nPublishedFileId}: {e.Result.m_eResult}"); return; } var m = Downloads.SingleOrDefault(x => x.WorkshopID == (long)e.Result.m_nPublishedFileId.m_PublishedFileId); if (m != null) { // Fill fields m.RemoveState(ModState.NotInstalled); m.RealizeIDAndPath(m.Path); m.Image = null; // Use default image again // load info var info = new ModInfo(m.GetModInfoFile()); // Move mod Downloads.Remove(m); Mods.AddMod(info.Category, m); // update listitem //var item = modlist_listview.Items.Cast<ListViewItem>().Single(i => (i.Tag as ModEntry).SourceID == m.SourceID); //UpdateModListItem(item, info.Category); } m = Mods.All.Single(x => x.WorkshopID == (long)e.Result.m_nPublishedFileId.m_PublishedFileId); MessageBox.Show($"{m.Name} finished download."); }
private void Resubscribe_OnItemDownloaded(object sender, Workshop.DownloadItemEventArgs e) { var mod = Mods.All.SingleOrDefault(m => m.WorkshopID == (long)e.Result.m_nPublishedFileId.m_PublishedFileId); if ((mod.State | ModState.NotInstalled) != ModState.None && e.Result.m_eResult == EResult.k_EResultOK) { mod.RemoveState(ModState.NotInstalled); RefreshModList(); } }
private void Resubscribe_OnItemDownloaded(object sender, Workshop.DownloadItemEventArgs e) { var mod = Mods.All.SingleOrDefault(m => m.WorkshopID == (long)e.Result.m_nPublishedFileId.m_PublishedFileId); MessageBox.Show("Resubscribe_OnItemDownloaded"); if (mod.State == ModState.NotInstalled && e.Result.m_eResult == EResult.k_EResultOK) { mod.State &= ~ModState.NotInstalled; RefreshModList(); } }
private void Resubscribe_OnItemDownloaded(object sender, Workshop.DownloadItemEventArgs e) { var mod = Mods.All.SingleOrDefault(m => m.WorkshopID == (long)e.Result.m_nPublishedFileId.m_PublishedFileId); if (mod != null && (mod.State & ModState.NotInstalled) != ModState.None && e.Result.m_eResult == EResult.k_EResultOK) { mod.RemoveState(ModState.NotInstalled | ModState.Downloading); mod.isHidden = false; modlist_ListObjectListView.RefreshObject(mod); } }
private void SteamWorkshop_OnItemDownloaded(object sender, Workshop.DownloadItemEventArgs e) { if (e.Result.m_eResult != EResult.k_EResultOK) { MessageBox.Show($"{e.Result.m_nPublishedFileId}: {e.Result.m_eResult}"); return; } var m = Downloads.SingleOrDefault(x => x.WorkshopID == (long)e.Result.m_nPublishedFileId.m_PublishedFileId); if (m != null) { // look for .XComMod file var infoFile = Directory.GetFiles(m.Path, "*.XComMod", SearchOption.TopDirectoryOnly).SingleOrDefault(); if (infoFile == null) { throw new Exception("Invalid Download"); } // Fill fields m.State &= ~ModState.NotInstalled; m.ID = Path.GetFileNameWithoutExtension(infoFile); m.Image = null; // Use default image again // load info var info = new ModInfo(m.GetModInfoFile()); // Move mod Downloads.Remove(m); Mods.AddMod(info.Category, m); // update listitem //var item = modlist_listview.Items.Cast<ListViewItem>().Single(i => (i.Tag as ModEntry).SourceID == m.SourceID); //UpdateModListItem(item, info.Category); } m = Mods.All.Single(x => x.WorkshopID == (long)e.Result.m_nPublishedFileId.m_PublishedFileId); MessageBox.Show($"{m.Name} finished download."); }