#include "dinkyecs.hpp" #include // BUG: this should have a bool for "permanent" or "constant" so that // everything working with it knows to do the make_constant/not_constant // dance when using it. Idea is the System:: ops for this would get it // and then look at the bool and add the constant ops as needed. namespace inventory { struct Model { std::unordered_map by_slot; std::unordered_map by_entity; bool add(const std::string &in_slot, DinkyECS::Entity ent); const std::string& get(DinkyECS::Entity ent); DinkyECS::Entity get(const std::string& slot); bool has(DinkyECS::Entity ent); bool has(const std::string& slot); void remove(DinkyECS::Entity ent); void invariant(); void dump(); void swap(DinkyECS::Entity a_ent, DinkyECS::Entity b_ent); size_t count(); }; }