Browse Source

vcmi: add a Not bonus selector.

It will allow us to form complex selector logics with full boolean
operator.
Konstantin 2 years ago
parent
commit
ee90400d66
1 changed files with 6 additions and 0 deletions
  1. 6 0
      lib/HeroBonus.h

+ 6 - 0
lib/HeroBonus.h

@@ -59,6 +59,12 @@ public:
 		return [thisCopy, rhs](const Bonus *b) mutable { return thisCopy(b) || rhs(b); };
 	}
 
+	CSelector Not() const
+	{
+		auto thisCopy = *this;
+		return [thisCopy](const Bonus *b) mutable { return !thisCopy(b); };
+	}
+
 	bool operator()(const Bonus *b) const
 	{
 		return TBase::operator()(b);