mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Add InventoryList width property & allow custom crafting grids.
This commit is contained in:
parent
43ebec2be1
commit
6a16075912
7 changed files with 69 additions and 8 deletions
|
@ -431,6 +431,7 @@ InventoryList::InventoryList(std::string name, u32 size, IItemDefManager *itemde
|
|||
{
|
||||
m_name = name;
|
||||
m_size = size;
|
||||
m_width = 0;
|
||||
m_itemdef = itemdef;
|
||||
clearItems();
|
||||
//m_dirty = false;
|
||||
|
@ -459,6 +460,11 @@ void InventoryList::setSize(u32 newsize)
|
|||
m_size = newsize;
|
||||
}
|
||||
|
||||
void InventoryList::setWidth(u32 newwidth)
|
||||
{
|
||||
m_width = newwidth;
|
||||
}
|
||||
|
||||
void InventoryList::setName(const std::string &name)
|
||||
{
|
||||
m_name = name;
|
||||
|
@ -468,6 +474,8 @@ void InventoryList::serialize(std::ostream &os) const
|
|||
{
|
||||
//os.imbue(std::locale("C"));
|
||||
|
||||
os<<"Width "<<m_width<<"\n";
|
||||
|
||||
for(u32 i=0; i<m_items.size(); i++)
|
||||
{
|
||||
const ItemStack &item = m_items[i];
|
||||
|
@ -492,6 +500,7 @@ void InventoryList::deSerialize(std::istream &is)
|
|||
|
||||
clearItems();
|
||||
u32 item_i = 0;
|
||||
m_width = 0;
|
||||
|
||||
for(;;)
|
||||
{
|
||||
|
@ -513,6 +522,12 @@ void InventoryList::deSerialize(std::istream &is)
|
|||
{
|
||||
break;
|
||||
}
|
||||
else if(name == "Width")
|
||||
{
|
||||
iss >> m_width;
|
||||
if (iss.fail())
|
||||
throw SerializationError("incorrect width property");
|
||||
}
|
||||
else if(name == "Item")
|
||||
{
|
||||
if(item_i > getSize() - 1)
|
||||
|
@ -543,6 +558,7 @@ InventoryList & InventoryList::operator = (const InventoryList &other)
|
|||
{
|
||||
m_items = other.m_items;
|
||||
m_size = other.m_size;
|
||||
m_width = other.m_width;
|
||||
m_name = other.m_name;
|
||||
m_itemdef = other.m_itemdef;
|
||||
//setDirty(true);
|
||||
|
@ -560,6 +576,11 @@ u32 InventoryList::getSize() const
|
|||
return m_items.size();
|
||||
}
|
||||
|
||||
u32 InventoryList::getWidth() const
|
||||
{
|
||||
return m_width;
|
||||
}
|
||||
|
||||
u32 InventoryList::getUsedSlots() const
|
||||
{
|
||||
u32 num = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue