public static List <ItemFeature> GetAvailableItemFeatures(LibraryManagementSettingsViewModel PluginSettings, Game GameContext) { List <ItemFeature> Result = new List <ItemFeature>(); if (GameContext != null && GameContext.Features != null) { Result = PluginSettings.Settings.ItemFeatures.Where( x => GameContext.Features.Any(y => y.Name.IsEqual(x.NameAssociated)) ).ToList(); } return(Result); }
public PluginFeaturesIconList(IPlayniteAPI PlayniteApi, LibraryManagementSettingsViewModel PluginSettings) { this.PluginSettings = PluginSettings; InitializeComponent(); this.DataContext = ControlDataContext; Task.Run(() => { this.Dispatcher.BeginInvoke((Action) delegate { PluginSettings.PropertyChanged += PluginSettings_PropertyChanged; PlayniteApi.Database.Games.ItemUpdated += Games_ItemUpdated; // Apply settings PluginSettings_PropertyChanged(null, null); }); }); }