private void Add(AddonDisplay obj) { if (AddonQueue.Count == 0) { Start(); } if (AddonQueue.Contains(obj)) { return; } AddonQueue.Enqueue(obj); }
private void FilterAddons(string addonsJson, List <AddonDisplay> addonDisplays, string localVersion = "") { List <Addon> addons = JsonConvert.DeserializeObject <List <Addon> >(addonsJson); foreach (Addon addon in addons) { Addon.LatestFile latestFile = addon.latestFiles.FindAll(x => x.releaseType == 1) .Find(x => x.gameVersionFlavor == _gameVersionFlavor); if (latestFile != null) { if (addonDisplays != null && addonDisplays.Find(x => x.id == addon.id) != null) { continue; } AddonDisplay display = new AddonDisplay { id = addon.id, name = addon.name, websiteUrl = addon.websiteUrl, summary = addon.summary, downloadCount = Tools.FormatNum(addon.downloadCount), dateCreated = addon.dateCreated, dateModified = addon.dateModified, dateReleased = addon.dateReleased, thumbnailUrl = addon.attachments.Count > 0 ? addon.attachments.Find(x => x.isDefault) != null?addon.attachments.Find(x => x.isDefault).thumbnailUrl : "" : "", latestFiles = addon.latestFiles.FindAll(x => x.gameVersionFlavor == _gameVersionFlavor).OrderBy(x => x.releaseType).ToList() }; display.thumbnailFile = Tools.GetThumbnailUri(display.thumbnailUrl, "addon", display.id); display.isLocal = !string.IsNullOrEmpty(localVersion); display.localVersion = localVersion; addonDisplays.Add(display); } } }
void AddToDownload(AddonDisplay addon) { _ea.GetEvent <DownloadAddedEvent>().Publish(addon); }