aboutsummaryrefslogtreecommitdiff
path: root/src/item.h
blob: fc43a408002394139b5c3c8540941559842d3265 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#include <nlohmann/json.hpp>
#include "entry.h"
#include <memory>

namespace entry {
    class Item : public Entry {
        public:
            static std::shared_ptr<Item> create(const nlohmann::json& data);
            virtual ~Item() {}
    };

    class Substantial {
        public:
            virtual int getCost(void) const = 0;
            virtual double getWeight(void) const = 0;
            std::string getText() const;
            virtual ~Substantial() {}
    };
}