public void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); if (propertyName == nameof(Game.PlatformId)) { Platform = new PlatformView(Game.PlatformId, view.Database.Platforms[Game.PlatformId]); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Platform))); } if (propertyName == nameof(Game.SortingName) || propertyName == nameof(Game.Name)) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Game.Name))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(DisplayName))); } if (propertyName == nameof(Game.Icon)) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IconObject))); } if (propertyName == nameof(Game.CoverImage)) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(CoverImageObject))); } if (propertyName == nameof(Game.BackgroundImage)) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(BackgroundImageObject))); } }
public GameViewEntry(Game game, string category, GamesCollectionView view, ILibraryPlugin plugin) { this.plugin = plugin; this.view = view; Category = new CategoryView(category); Game = game; Game.PropertyChanged += Game_PropertyChanged; Platform = new PlatformView(game.PlatformId, view.Database.Platforms[game.PlatformId]); }