#ifndef ITEMREQUIREDPOLICY_H #define ITEMREQUIREDPOLICY_H #include #include "policy.h" class Item; class ItemRequiredPolicy : public Policy { public: explicit ItemRequiredPolicy(const std::string& satisfaction, const std::string& dissatisfaction); virtual ~ItemRequiredPolicy() override; virtual Policy::CheckResult check(const std::shared_ptr& actor) const override; void setRequiredItem(const std::shared_ptr& item); private: std::shared_ptr _item; }; #endif // ITEMREQUIREDPOLICY_H