private static Boolean AssetsFilter(FlatAssetModel bluePrint, BluePrintFilterModel filter) { // The filters always are set to true, so we select the item if nothing is set, once a filter has a non-default value, it must cause a match, else it fails. if (bluePrint == null || filter == null) { return(false); } var output = Converters.EvaluateLocationFilter(filter.InGameFilter, filter.InArchiveFilter, bluePrint.InGame, bluePrint.InArchive); if (output) { output = Converters.EvaluateTextFilter(filter.ProviderFilter, bluePrint.Provider); } else { return(false); } if (output) { output = Converters.EvaluateTextFilter(filter.ProductFilter, bluePrint.Product); } else { return(false); } if (output) { output = Converters.EvaluateTextFilter(filter.BluePrintFilter, bluePrint.BluePrintPath); } else { return(false); } if (output) { output = Converters.EvaluateTextFilter(filter.PackFilter, bluePrint.Pack); } else { return(false); } return(output); }
public static List <FlatAssetModel> ApplyAssetsFilter(List <FlatAssetModel> bluePrintList, BluePrintFilterModel bluePrintFilter) { return(bluePrintList.Where(p => AssetsFilter(p, bluePrintFilter)).ToList()); }