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;
- }
|