mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Detached inventories
This commit is contained in:
parent
96eac87d47
commit
2ac20982e0
12 changed files with 222 additions and 85 deletions
|
@ -41,30 +41,25 @@ std::string InventoryLocation::dump() const
|
|||
|
||||
void InventoryLocation::serialize(std::ostream &os) const
|
||||
{
|
||||
switch(type){
|
||||
case InventoryLocation::UNDEFINED:
|
||||
{
|
||||
os<<"undefined";
|
||||
}
|
||||
switch(type){
|
||||
case InventoryLocation::UNDEFINED:
|
||||
os<<"undefined";
|
||||
break;
|
||||
case InventoryLocation::CURRENT_PLAYER:
|
||||
{
|
||||
os<<"current_player";
|
||||
}
|
||||
case InventoryLocation::CURRENT_PLAYER:
|
||||
os<<"current_player";
|
||||
break;
|
||||
case InventoryLocation::PLAYER:
|
||||
{
|
||||
os<<"player:"<<name;
|
||||
}
|
||||
case InventoryLocation::PLAYER:
|
||||
os<<"player:"<<name;
|
||||
break;
|
||||
case InventoryLocation::NODEMETA:
|
||||
{
|
||||
os<<"nodemeta:"<<p.X<<","<<p.Y<<","<<p.Z;
|
||||
}
|
||||
case InventoryLocation::NODEMETA:
|
||||
os<<"nodemeta:"<<p.X<<","<<p.Y<<","<<p.Z;
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
case InventoryLocation::DETACHED:
|
||||
os<<"detached:"<<name;
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
|
||||
void InventoryLocation::deSerialize(std::istream &is)
|
||||
|
@ -94,6 +89,11 @@ void InventoryLocation::deSerialize(std::istream &is)
|
|||
p.Y = stoi(fn.next(","));
|
||||
p.Z = stoi(fn.next(","));
|
||||
}
|
||||
else if(tname == "detached")
|
||||
{
|
||||
type = InventoryLocation::DETACHED;
|
||||
std::getline(is, name, '\n');
|
||||
}
|
||||
else
|
||||
{
|
||||
infostream<<"Unknown InventoryLocation type=\""<<tname<<"\""<<std::endl;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue