#include <inventory.h>
Public Member Functions | |
InventoryList (const std::string &name, u32 size, IItemDefManager *itemdef) | |
~InventoryList ()=default | |
void | clearItems () |
void | setSize (u32 newsize) |
void | setWidth (u32 newWidth) |
void | setName (const std::string &name) |
void | serialize (std::ostream &os, bool incremental) const |
void | deSerialize (std::istream &is) |
InventoryList (const InventoryList &other) | |
InventoryList & | operator= (const InventoryList &other) |
bool | operator== (const InventoryList &other) const |
bool | operator!= (const InventoryList &other) const |
const std::string & | getName () const |
u32 | getSize () const |
u32 | getWidth () const |
u32 | getUsedSlots () const |
u32 | getFreeSlots () const |
const ItemStack & | getItem (u32 i) const |
ItemStack & | getItem (u32 i) |
ItemStack | changeItem (u32 i, const ItemStack &newitem) |
void | deleteItem (u32 i) |
ItemStack | addItem (const ItemStack &newitem) |
ItemStack | addItem (u32 i, const ItemStack &newitem) |
bool | itemFits (const u32 i, const ItemStack &newitem, ItemStack *restitem=NULL) const |
bool | roomForItem (const ItemStack &item) const |
bool | containsItem (const ItemStack &item, bool match_meta) const |
ItemStack | removeItem (const ItemStack &item) |
ItemStack | takeItem (u32 i, u32 takecount) |
u32 | moveItem (u32 i, InventoryList *dest, u32 dest_i, u32 count=0, bool swap_if_needed=true, bool *did_swap=NULL) |
void | moveItemSomewhere (u32 i, InventoryList *dest, u32 count) |
bool | checkModified () const |
void | setModified (bool dirty=true) |
Private Attributes | |
std::vector< ItemStack > | m_items |
std::string | m_name |
u32 | m_size |
u32 | m_width = 0 |
IItemDefManager * | m_itemdef |
bool | m_dirty = true |
InventoryList::InventoryList | ( | const std::string & | name, |
u32 | size, | ||
IItemDefManager * | itemdef | ||
) |
|
default |
InventoryList::InventoryList | ( | const InventoryList & | other | ) |
References ItemStack::empty(), and m_items.
Referenced by Inventory::addItem(), IMoveAction::apply(), ICraftAction::apply(), RollbackAction::applyRevert(), InvRef::l_add_item(), moveItem(), and moveItemSomewhere().
References m_items, and setModified().
Referenced by IMoveAction::apply(), IDropAction::clientApply(), getCraftingResult(), InvRef::l_set_stack(), PlayerDatabaseSQLite3::loadPlayer(), moveItem(), moveItemSomewhere(), read_animation_definition(), PlayerSAO::setWieldedItem(), and Server::UpdateCrafting().
|
inline |
References m_dirty.
Referenced by Server::UpdateCrafting().
void InventoryList::clearItems | ( | ) |
References m_items, m_size, and setModified().
Referenced by InventoryList().
bool InventoryList::containsItem | ( | const ItemStack & | item, |
bool | match_meta | ||
) | const |
References ItemStack::count, m_items, ItemStack::metadata, and ItemStack::name.
Referenced by InvRef::l_contains_item().
void InventoryList::deleteItem | ( | u32 | i | ) |
References m_items, and setModified().
Referenced by IMoveAction::apply(), and read_animation_definition().
void InventoryList::deSerialize | ( | std::istream & | is | ) |
References ItemStack::deSerialize(), getSize(), m_itemdef, m_items, m_name, m_width, and setModified().
Referenced by Inventory::deSerialize().
u32 InventoryList::getFreeSlots | ( | ) | const |
const ItemStack & InventoryList::getItem | ( | u32 | i | ) | const |
References m_items, and m_size.
Referenced by IMoveAction::apply(), IDropAction::apply(), RollbackAction::applyRevert(), GUIInventoryList::draw(), Hud::drawItems(), GUIFormSpecMenu::drawSelectedItem(), getCraftingResult(), Player::getWieldedItem(), ScriptApiItem::item_CraftPredict(), ScriptApiItem::item_OnCraft(), InvRef::l_get_stack(), GUIFormSpecMenu::OnEvent(), push_inventory_list(), PlayerDatabaseSQLite3::savePlayer(), TestInventory::testSerializeDeserialize(), GUIFormSpecMenu::updateSelectedItem(), and GUIFormSpecMenu::verifySelectedItem().
const std::string & InventoryList::getName | ( | ) | const |
References m_name.
Referenced by PlayerDatabaseSQLite3::savePlayer().
u32 InventoryList::getSize | ( | ) | const |
References m_items.
Referenced by IMoveAction::apply(), ICraftAction::apply(), RollbackAction::applyRevert(), deSerialize(), GUIInventoryList::draw(), getCraftingResult(), getFreeSlots(), GUIInventoryList::getItemIndexAtPos(), ScriptApiItem::item_CraftPredict(), ScriptApiItem::item_OnCraft(), InvRef::l_get_size(), InvRef::l_get_stack(), InvRef::l_set_list(), InvRef::l_set_stack(), GUIFormSpecMenu::OnEvent(), push_inventory_list(), PlayerDatabaseSQLite3::savePlayer(), Player::setWieldIndex(), Server::UpdateCrafting(), GUIFormSpecMenu::updateSelectedItem(), and GUIFormSpecMenu::verifySelectedItem().
u32 InventoryList::getUsedSlots | ( | ) | const |
References m_items.
Referenced by getFreeSlots(), and InvRef::l_is_empty().
u32 InventoryList::getWidth | ( | ) | const |
References m_width.
Referenced by getCraftingResult(), InvRef::l_get_width(), PlayerDatabaseSQLite3::savePlayer(), and TestInventory::testSerializeDeserialize().
bool InventoryList::itemFits | ( | const u32 | i, |
const ItemStack & | newitem, | ||
ItemStack * | restitem = NULL |
||
) | const |
References m_itemdef, and m_items.
Referenced by IMoveAction::apply(), ICraftAction::apply(), and roomForItem().
u32 InventoryList::moveItem | ( | u32 | i, |
InventoryList * | dest, | ||
u32 | dest_i, | ||
u32 | count = 0 , |
||
bool | swap_if_needed = true , |
||
bool * | did_swap = NULL |
||
) |
References addItem(), changeItem(), ItemStack::count, ItemStack::empty(), and takeItem().
Referenced by IMoveAction::apply(), and IMoveAction::clientApply().
void InventoryList::moveItemSomewhere | ( | u32 | i, |
InventoryList * | dest, | ||
u32 | count | ||
) |
References addItem(), changeItem(), ItemStack::empty(), and takeItem().
Referenced by IMoveAction::clientApply().
|
inline |
InventoryList & InventoryList::operator= | ( | const InventoryList & | other | ) |
bool InventoryList::operator== | ( | const InventoryList & | other | ) | const |
References ItemStack::addItem(), ItemStack::count, ItemStack::empty(), m_itemdef, m_items, ItemStack::name, and setModified().
Referenced by InvRef::l_remove_item().
bool InventoryList::roomForItem | ( | const ItemStack & | item | ) | const |
References itemFits(), and m_items.
Referenced by InvRef::l_room_for_item().
void InventoryList::serialize | ( | std::ostream & | os, |
bool | incremental | ||
) | const |
|
inline |
References m_dirty.
Referenced by addItem(), Inventory::addList(), IMoveAction::apply(), IDropAction::apply(), changeItem(), clearItems(), deleteItem(), deSerialize(), removeItem(), setName(), setSize(), setWidth(), and takeItem().
void InventoryList::setName | ( | const std::string & | name | ) |
References m_name, and setModified().
Referenced by content_nodemeta_deserialize_legacy_body(), and TestInventory::testSerializeDeserialize().
void InventoryList::setSize | ( | u32 | newsize | ) |
References m_items, m_size, and setModified().
Referenced by Inventory::deSerialize(), and InvRef::l_set_size().
void InventoryList::setWidth | ( | u32 | newWidth | ) |
References m_width, and setModified().
Referenced by Player::Player(), InvRef::l_set_width(), PlayerDatabaseSQLite3::loadPlayer(), and TestInventory::testSerializeDeserialize().
ItemStack InventoryList::takeItem | ( | u32 | i, |
u32 | takecount | ||
) |
References ItemStack::empty(), m_items, and setModified().
Referenced by IMoveAction::apply(), IDropAction::apply(), RollbackAction::applyRevert(), IDropAction::clientApply(), moveItem(), moveItemSomewhere(), and TestInventory::testSerializeDeserialize().
|
private |
Referenced by checkModified(), and setModified().
|
private |
Referenced by addItem(), deSerialize(), itemFits(), operator=(), and removeItem().
|
private |
Referenced by addItem(), changeItem(), clearItems(), containsItem(), deleteItem(), deSerialize(), getItem(), getSize(), getUsedSlots(), itemFits(), operator=(), operator==(), removeItem(), roomForItem(), serialize(), setSize(), and takeItem().
|
private |
Referenced by deSerialize(), getName(), operator=(), operator==(), and setName().
|
private |
Referenced by clearItems(), getItem(), operator=(), operator==(), and setSize().
|
private |
Referenced by deSerialize(), getWidth(), operator=(), operator==(), serialize(), and setWidth().