123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #include "ItemFilter.h"
- #include "ItemType.h"
- #include "Item.h"
- ItemFilter::ItemFilter()
- : ReferenceCounter()
- {}
- CombinedItemFilter::CombinedItemFilter( ItemFilter* filterA, ItemFilter* filterB, std::function<bool( bool, bool )> op )
- : ItemFilter(),
- filterA( filterA ),
- filterB( filterB ),
- op( op )
- {}
- bool CombinedItemFilter::matchItem( const Item* zItem ) const
- {
- return op( filterA->matchItem( zItem ), filterB->matchItem( zItem ) );
- }
- AnyItemFilter::AnyItemFilter()
- : ItemFilter()
- {}
- bool AnyItemFilter::matchItem( const Item* zItem ) const
- {
- return true;
- }
- TypeItemFilter::TypeItemFilter( const ItemType* zType )
- : ItemFilter(),
- zType( zType )
- {}
- bool TypeItemFilter::matchItem( const Item* zItem ) const
- {
- return zItem->zItemType() == zType;
- }
|