| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- #include "InteractionConfig.h"
- InteractionConfig::InteractionConfig()
- : Framework::ReferenceCounter(),
- filter(0)
- {}
- InteractionConfig::~InteractionConfig()
- {
- if (filter)
- {
- filter->release();
- }
- }
- void InteractionConfig::setItemFilter(ItemFilter* filter)
- {
- if (this->filter)
- {
- this->filter->release();
- }
- this->filter = filter;
- }
- ItemFilter* InteractionConfig::zItemFilter() const
- {
- return filter;
- }
- bool InteractionConfig::doInteraction(Framework::Either<Block*, Entity*> target,
- Item* zItem,
- Entity* actor,
- bool& itemChanged)
- {
- if (!filter || (zItem && filter->matchItem(zItem)))
- {
- return onInteraction(target, zItem, actor, itemChanged);
- }
- return false;
- }
|