public override List <string> GetGenres()
        {
            if (!AvailableFields.Contains(MetadataField.Genres))
            {
                return(base.GetGenres());
            }

            List <BasicTag> tags = _visualNovel.tags.Select(x =>
            {
                var id  = (int)x[0];
                var tag = VNDBTags.GetTagByID(id);
                return(tag);
            }).NotNull().OrderByDescending(x => x.vns).ToList();

            return(tags.Take(StaticSettings.MaxTags).Select(x => x.name).ToList());
        }
        public VNDBMetadata(IPlayniteAPI api) : base(api)
        {
            Settings = new VNDBMetadataSettings(this);

            Task.Run(async() =>
            {
                var dataDir = GetPluginUserDataPath();
                var res     = await VNDBTags.GetLatestDumb(dataDir);
                if (!res)
                {
                    Logger.Error("Unable to get latest tags dumb!");
                    return;
                }

                var count = VNDBTags.ReadTags(dataDir);
                Logger.Info($"Tags cache contains {count} tags");
            });
        }