raycaster/inventory.hpp

22 lines
616 B
C++

#include "dinkyecs.hpp"
#include <unordered_map>
namespace inventory {
using Slot = std::string;
struct Model {
std::unordered_map<Slot, DinkyECS::Entity> by_slot;
std::unordered_map<DinkyECS::Entity, Slot> by_entity;
bool add(const Slot &in_slot, DinkyECS::Entity ent);
Slot& get(DinkyECS::Entity ent);
DinkyECS::Entity get(const Slot& slot);
bool has(DinkyECS::Entity ent);
bool has(const Slot& slot);
void remove(const Slot& slot, DinkyECS::Entity ent);
void remove(DinkyECS::Entity ent);
void remove(const Slot& slot);
void invariant();
void dump();
};
}