/// <summary>
        /// Get Vndb GameCards
        /// </summary>
        /// <param name="userDataArray"></param>
        /// <param name="vndbInfo"></param>
        private void GetVndbData(UserDataGames[] userDataArray, VnInfo[] vndbInfo)
        {
            try
            {
                foreach (var entry in userDataArray)
                {
                    var game = vndbInfo.FirstOrDefault(x => x.VnId == entry.GameId);
                    if (game == null)
                    {
                        continue;
                    }
                    var coverPath = $@"{App.AssetDirPath}\sources\vndb\images\cover\{game.VnId}.jpg";

                    var rating = NsfwHelper.RawRatingIsNsfw(game.ImageRating);

                    var card = _gameCard();
                    card.UserDataId = entry.Id;
                    card.ShouldDisplayNsfwContent = !NsfwHelper.UserIsNsfw(game.ImageRating);
                    card.Title            = !string.IsNullOrEmpty(entry.CustomGameName) ? entry.CustomGameName : game.Title;
                    card.LastPlayedString = $"Last Played: {TimeDateChanger.GetHumanDate(entry.LastPlayed)}";
                    card.TotalTimeString  = $"Play Time: {TimeDateChanger.GetHumanTime(entry.PlayTime)}";

                    if (rating == true && File.Exists($"{coverPath}.aes"))
                    {
                        var imgBytes  = File.ReadAllBytes($"{coverPath}.aes");
                        var imgStream = Secure.DecStreamToStream(new MemoryStream(imgBytes));
                        var imgNsfw   = ImageHelper.CreateBitmapFromStream(imgStream);
                        var bi        = new BindingImage {
                            Image = imgNsfw, IsNsfw = NsfwHelper.RawRatingIsNsfw(game.ImageRating)
                        };

                        card.CoverImage = bi;
                    }
                    else
                    {
                        if (File.Exists(coverPath))
                        {
                            var bi = new BindingImage {
                                Image = ImageHelper.CreateBitmapFromPath(coverPath), IsNsfw = false
                            };
                            card.CoverImage = bi;
                        }
                        else
                        {
                            var bi = new BindingImage {
                                Image = ImageHelper.CreateEmptyBitmapImage(), IsNsfw = false
                            };
                            card.CoverImage = bi;
                        }
                    }
                    _gameCollection.Add(card);
                }
            }
            catch (Exception e)
            {
                App.Logger.Warning(e, "Failed to create Vndb GameCards");
                SentryHelper.SendException(e, null, SentryLevel.Warning);
            }
        }
 public BindingPickerNode(DesignBindingPicker picker, string nodeName, BindingImage index) : base(nodeName)
 {
     this.picker = picker;
     this.BindingImageIndex = (int) index;
 }