diff options
Diffstat (limited to 'src/main/headers/Item.hpp')
-rw-r--r-- | src/main/headers/Item.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/headers/Item.hpp b/src/main/headers/Item.hpp new file mode 100644 index 0000000..3664a0e --- /dev/null +++ b/src/main/headers/Item.hpp @@ -0,0 +1,29 @@ +#ifndef ITEM_HPP +#define ITEM_HPP + +#include <string> + +class Actor; + +/* + * TODO description + */ +class Item +{ +public: + Item() = delete; + virtual ~Item() {} + + virtual bool use(Actor &actor) = 0; + virtual bool use(Item &item) = 0; + + bool stackable() { return _maxAmount == 1; } + +protected: + const unsigned _maxAmount; + const unsigned _amount; // stackable + + std::string _name; +}; + +#endif |