aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/headers/Item.hpp
blob: 3664a0e53d0761b01d2bae26b45008f9c2e8eaa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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