Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public static List <FlatAssetModel> ApplyAssetsFilter(List <FlatAssetModel> bluePrintList, BluePrintFilterModel bluePrintFilter)
 {
     return(bluePrintList.Where(p => AssetsFilter(p, bluePrintFilter)).ToList());
 }