/* core/item.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_CORE_ITEM_H__ #define __INCLUDED_CORE_ITEM_H__ #include "core/info.h" namespace core { /** * @brief an item in the inventory of an entity * The info record represents the type of the item */ class Item { public: Item(const Info *info); ~Item(); /* ---- inspectors --------------------------------------------- */ /** * @brief associated amount */ inline int amount() const { return item_amount; } /** * @brief information record */ inline const Info *info() const { return item_info; } /* ---- mutators ----------------------------------------------- */ /** * @brief set associated amount */ void set_amount(const int amount); private: const Info *item_info; int item_amount; }; } // namespace core #endif // __INCLUDED_CORE_ITEM_H__