public UplayMetadataProvider() { try { productInfo = Uplay.GetLocalProductCache(); } catch (Exception e) { logger.Error(e, "Failed to get Uplay product info from cache."); } }
public List <GameInfo> GetLibraryGames() { var games = new List <GameInfo>(); var dlcsToIgnore = new List <uint>(); foreach (var item in Uplay.GetLocalProductCache()) { if (item.root.addons.HasItems()) { foreach (var dlc in item.root.addons.Select(a => a.id)) { dlcsToIgnore.AddMissing(dlc); } } if (item.root.third_party_platform != null) { continue; } if (item.root.is_ulc) { dlcsToIgnore.AddMissing(item.uplay_id); continue; } if (dlcsToIgnore.Contains(item.uplay_id)) { continue; } if (item.root.start_game == null) { continue; } var newGame = new GameInfo { Name = item.root.name.RemoveTrademarks(), GameId = item.uplay_id.ToString(), BackgroundImage = item.root.background_image, Icon = item.root.icon_image, CoverImage = item.root.thumb_image, Source = "Uplay", Platform = "PC" }; games.Add(newGame); } return(games); }