Minetest  5.4.0
Inventory Class Reference

#include <inventory.h>

+ Collaboration diagram for Inventory:

Public Member Functions

 ~Inventory ()
 
void clear ()
 
 Inventory (IItemDefManager *itemdef)
 
 Inventory (const Inventory &other)
 
Inventoryoperator= (const Inventory &other)
 
bool operator== (const Inventory &other) const
 
bool operator!= (const Inventory &other) const
 
void serialize (std::ostream &os, bool incremental=false) const
 
void deSerialize (std::istream &is)
 
InventoryListaddList (const std::string &name, u32 size)
 
InventoryListgetList (const std::string &name)
 
const InventoryListgetList (const std::string &name) const
 
std::vector< const InventoryList * > getLists ()
 
bool deleteList (const std::string &name)
 
ItemStack addItem (const std::string &listname, const ItemStack &newitem)
 
bool checkModified () const
 
void setModified (bool dirty=true)
 

Private Member Functions

const s32 getListIndex (const std::string &name) const
 

Private Attributes

std::vector< InventoryList * > m_lists
 
IItemDefManagerm_itemdef
 
bool m_dirty = true
 

Constructor & Destructor Documentation

◆ ~Inventory()

Inventory::~Inventory ( )

References clear().

+ Here is the call graph for this function:

◆ Inventory() [1/2]

Inventory::Inventory ( IItemDefManager itemdef)

References m_itemdef, and setModified().

+ Here is the call graph for this function:

◆ Inventory() [2/2]

Inventory::Inventory ( const Inventory other)

Member Function Documentation

◆ addItem()

ItemStack Inventory::addItem ( const std::string &  listname,
const ItemStack newitem 
)
inline

References InventoryList::addItem(), and getList().

+ Here is the call graph for this function:

◆ addList()

InventoryList * Inventory::addList ( const std::string &  name,
u32  size 
)

References getListIndex(), m_itemdef, m_lists, InventoryList::setModified(), and setModified().

Referenced by Player::Player(), InvRef::l_set_size(), PlayerDatabaseSQLite3::loadPlayer(), and read_animation_definition().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkModified()

bool Inventory::checkModified ( ) const
inline

References m_dirty, and m_lists.

Referenced by RemotePlayer::checkModified(), and ServerInventoryManager::sendDetachedInventories().

+ Here is the caller graph for this function:

◆ clear()

void Inventory::clear ( )

References m_lists, and setModified().

Referenced by Player::Player(), ~Inventory(), NodeMetadata::clear(), InvRef::l_set_lists(), and operator=().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteList()

bool Inventory::deleteList ( const std::string &  name)

References getListIndex(), m_lists, and setModified().

Referenced by InvRef::l_set_size(), and read_animation_definition().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deSerialize()

void Inventory::deSerialize ( std::istream &  is)

References InventoryList::deSerialize(), errorstream, getList(), m_itemdef, m_lists, setModified(), and InventoryList::setSize().

Referenced by content_nodemeta_deserialize_legacy_body(), NodeMetadata::deSerialize(), Client::handleCommand_DetachedInventory(), Client::handleCommand_Inventory(), PlayerDatabaseLevelDB::loadPlayer(), and TestInventory::testSerializeDeserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getList() [1/2]

◆ getList() [2/2]

const InventoryList * Inventory::getList ( const std::string &  name) const

References getListIndex(), and m_lists.

+ Here is the call graph for this function:

◆ getListIndex()

const s32 Inventory::getListIndex ( const std::string &  name) const
private

References m_lists.

Referenced by addList(), deleteList(), and getList().

+ Here is the caller graph for this function:

◆ getLists()

std::vector< const InventoryList * > Inventory::getLists ( )

References m_lists.

Referenced by NodeMetadata::empty(), NodeMetaRef::handleToTable(), InvRef::l_get_lists(), ScriptApiClient::on_inventory_open(), and PlayerDatabaseSQLite3::savePlayer().

+ Here is the caller graph for this function:

◆ operator!=()

bool Inventory::operator!= ( const Inventory other) const
inline

◆ operator=()

Inventory & Inventory::operator= ( const Inventory other)

References clear(), m_itemdef, m_lists, and setModified().

+ Here is the call graph for this function:

◆ operator==()

bool Inventory::operator== ( const Inventory other) const

References m_lists.

◆ serialize()

void Inventory::serialize ( std::ostream &  os,
bool  incremental = false 
) const

References m_lists.

Referenced by PlayerDatabaseLevelDB::savePlayer(), Server::sendDetachedInventory(), Server::SendInventory(), NodeMetadata::serialize(), and TestInventory::testSerializeDeserialize().

+ Here is the caller graph for this function:

◆ setModified()

void Inventory::setModified ( bool  dirty = true)
inline

References m_dirty, and m_lists.

Referenced by Inventory(), Player::Player(), addList(), clear(), deleteList(), deSerialize(), operator=(), Server::sendDetachedInventory(), Server::SendInventory(), ServerInventoryManager::setInventoryModified(), and TestInventory::testSerializeDeserialize().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_dirty

bool Inventory::m_dirty = true
private

Referenced by checkModified(), and setModified().

◆ m_itemdef

IItemDefManager* Inventory::m_itemdef
private

◆ m_lists


The documentation for this class was generated from the following files: