#pragma once #include "ItemTableTypes.h" #include "z64item.h" #include typedef std::unordered_map ItemTable; class ItemTableManager { public: static ItemTableManager* Instance; ItemTableManager(); ~ItemTableManager(); bool AddItemTable(uint16_t tableID); bool AddItemEntry(uint16_t tableID, uint16_t getItemID, GetItemEntry getItemEntry); GetItemEntry RetrieveItemEntry(uint16_t tableID, uint16_t itemID); bool ClearItemTable(uint16_t tableID); private: std::unordered_map itemTables; ItemTable* RetrieveItemTable(uint16_t tableID); };