#pragma once #include "lights.hpp" #include #include namespace components { using namespace nlohmann; using lighting::LightSource; struct InventoryItem { int count; json data; }; struct Inventory { int gold; LightSource light; std::unordered_map items; size_t count() { return items.size(); } void add(InventoryItem item); bool decrease(std::string id, int count); InventoryItem& get(std::string id); void remove_all(std::string id); }; }