private static List <UpdateFeatureDef> FilterOutIgnoredProviders(IEnumerable <UpdateFeatureDef> featureDefs, IIgnoredNewsProviderStore ignoredNewsProviders) { return(featureDefs .Where(d => !ignoredNewsProviders.Contains(d.OwningModId)) .ToList()); }
public Dialog_UpdateFeaturesFiltered(List <UpdateFeatureDef> featureDefs, UpdateFeatureManager.IgnoredNewsIds ignoredNewsProviders, IUpdateFeaturesDevActions news, IModSpotterDevActions spotter) : base(FilterOutIgnoredProviders(featureDefs, ignoredNewsProviders), ignoredNewsProviders) { fullDefList = featureDefs; this.ignoredNewsProviders = ignoredNewsProviders; filterButtonLabel = "HugsLib_features_filterBtn".Translate(); allModsFilterLabel = "HugsLib_features_filterAllMods".Translate(); currentFilterReadout = "HugsLib_features_filterStatus".Translate(); dropdownEntryTemplate = "HugsLib_features_filterDropdownEntry".Translate(); ignoredModLabelSuffix = "HugsLib_features_filterIgnoredModSuffix".Translate(); defFilter = new UpdateFeatureDefFilteringProvider(featureDefs); devMenu = new UpdateFeaturesDevMenu(news, spotter, new PlayerMessageSender()); devMenu.UpdateFeatureDefsReloaded += DevMenuDefsReloadedHandler; AdjustButtonSizeToLabel(); }