public ExtraMetadataLoader(IPlayniteAPI api) : base(api) { settings = new ExtraMetadataLoaderSettingsViewModel(this, PlayniteApi); Properties = new GenericPluginProperties { HasSettings = true }; AddCustomElementSupport(new AddCustomElementSupportArgs { ElementList = new List <string> { "VideoLoaderControl", "VideoLoaderControlAlternative", "LogoLoaderControl" }, SourceName = "ExtraMetadataLoader", }); AddSettingsSupport(new AddSettingsSupportArgs { SourceName = "ExtraMetadataLoader", SettingsRoot = $"{nameof(settings)}.{nameof(settings.Settings)}" }); extraMetadataHelper = new ExtraMetadataHelper(PlayniteApi); logosDownloader = new LogosDownloader(PlayniteApi, settings.Settings, extraMetadataHelper); videosDownloader = new VideosDownloader(PlayniteApi, settings.Settings, extraMetadataHelper); PlayniteApi.Database.Games.ItemCollectionChanged += (sender, ItemCollectionChangedArgs) => { foreach (var removedItem in ItemCollectionChangedArgs.RemovedItems) { // Removed Game items have their ExtraMetadataDirectory deleted for cleanup extraMetadataHelper.DeleteExtraMetadataDir(removedItem); } }; PlayniteApi.Database.Platforms.ItemCollectionChanged += (sender, ItemCollectionChangedArgs) => { foreach (var removedItem in ItemCollectionChangedArgs.RemovedItems) { // Removed Platform items have their ExtraMetadataDirectory deleted for cleanup extraMetadataHelper.DeleteExtraMetadataDir(removedItem); } }; PlayniteApi.Database.Sources.ItemCollectionChanged += (sender, ItemCollectionChangedArgs) => { foreach (var removedItem in ItemCollectionChangedArgs.RemovedItems) { // Removed Source items have their ExtraMetadataDirectory deleted for cleanup extraMetadataHelper.DeleteExtraMetadataDir(removedItem); } }; }
public ExtraMetadataLoader(IPlayniteAPI api) : base(api) { settings = new ExtraMetadataLoaderSettingsViewModel(this); Properties = new GenericPluginProperties { HasSettings = true }; AddCustomElementSupport(new AddCustomElementSupportArgs { ElementList = new List <string> { "VideoLoaderControl", "LogoLoaderControl" }, SourceName = "ExtraMetadataLoader", }); AddSettingsSupport(new AddSettingsSupportArgs { SourceName = "ExtraMetadataLoader", SettingsRoot = $"{nameof(settings)}.{nameof(settings.Settings)}" }); }