/********************\ | Copyright 2024, | | Ulysse Cura | \********************/ ////////////////////////////////////////////////////////////////// // // // Composant d'inventaire, sert pour les coffre, PNJ, ou MOB. // // // ////////////////////////////////////////////////////////////////// #ifndef INVENTORY_HPP #define INVENTORY_HPP #include #include #include "ECS.hpp" #include "../IP/IP.hpp" using std::vector, std::unique_ptr, std::move; class InventoryComponent : public Component { public: InventoryComponent() = default; InventoryComponent(vector> items) : m_items(move(items)) {} Item &addItem() { Item *i = new Item(); unique_ptr uPtr{i}; m_items.emplace_back(move(uPtr)); return *i; } std::size_t getNumberOfItem() { return m_items.size(); } void erase(std::size_t index) { if (index < m_items.size()) { m_items.erase(m_items.begin() + index); } } vector> &getItems() { return m_items; } private: vector> m_items; }; #endif