#ifndef CREATURELIB_ITEMLIBRARY_HPP #define CREATURELIB_ITEMLIBRARY_HPP #include #include #include "Items/Item.hpp" namespace CreatureLib::Library { class ItemLibrary { private: std::unordered_map _items; public: ItemLibrary(size_t initialCapacity = 32) : _items(std::unordered_map(initialCapacity)){}; virtual ~ItemLibrary() { _items.clear(); } [[nodiscard]] const Item* GetItem(const std::string& name) const; [[nodiscard]] const Item* operator[](const std::string& name) const; void LoadItem(const std::string& name, const Item* item); void DeleteItem(const std::string& name); }; } #endif // CREATURELIB_ITEMLIBRARY_HPP