mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-03-05 18:49:40 +00:00
[Client] Simplify container sending with new addContainerItem() methods
This commit is contained in:
parent
51f0acbaf5
commit
d2ba4a12d9
4 changed files with 27 additions and 35 deletions
|
@ -125,7 +125,7 @@ namespace MWGui
|
|||
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(mPtr);
|
||||
MWWorld::Ptr itemPtr = mModel->getItem(mSelectedItem).mBase;
|
||||
objectList->addContainerItem(baseObject, itemPtr, count);
|
||||
objectList->addContainerItem(baseObject, itemPtr, itemPtr.getRefData().getCount(), count);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
/*
|
||||
|
@ -169,17 +169,7 @@ namespace MWGui
|
|||
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(mPtr);
|
||||
MWWorld::Ptr itemPtr = mDragAndDrop->mItem.mBase;
|
||||
mwmp::ContainerItem containerItem;
|
||||
containerItem.refId = itemPtr.getCellRef().getRefId();
|
||||
|
||||
// Make sure we get the drag and drop count, not the count of the original item
|
||||
containerItem.count = mDragAndDrop->mDraggedCount;
|
||||
|
||||
containerItem.charge = itemPtr.getCellRef().getCharge();
|
||||
containerItem.enchantmentCharge = itemPtr.getCellRef().getEnchantmentCharge();
|
||||
containerItem.soul = itemPtr.getCellRef().getSoul();
|
||||
|
||||
baseObject.containerItems.push_back(containerItem);
|
||||
objectList->addContainerItem(baseObject, itemPtr, mDragAndDrop->mDraggedCount, 0);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
}
|
||||
|
|
|
@ -78,17 +78,34 @@ BaseObject ObjectList::getBaseObject(const MWWorld::Ptr& ptr)
|
|||
return baseObject;
|
||||
}
|
||||
|
||||
void ObjectList::addContainerItem(mwmp::BaseObject& baseObject, const MWWorld::Ptr& itemPtr, int actionCount)
|
||||
void ObjectList::addContainerItem(mwmp::BaseObject& baseObject, const MWWorld::Ptr& itemPtr, int itemCount, int actionCount)
|
||||
{
|
||||
mwmp::ContainerItem containerItem;
|
||||
containerItem.refId = itemPtr.getCellRef().getRefId();
|
||||
containerItem.count = itemPtr.getRefData().getCount();
|
||||
containerItem.count = itemCount;
|
||||
containerItem.charge = itemPtr.getCellRef().getCharge();
|
||||
containerItem.enchantmentCharge = itemPtr.getCellRef().getEnchantmentCharge();
|
||||
containerItem.soul = itemPtr.getCellRef().getSoul();
|
||||
containerItem.actionCount = actionCount;
|
||||
|
||||
LOG_APPEND(TimedLog::LOG_VERBOSE, "--- Adding container item %s", containerItem.refId.c_str());
|
||||
LOG_APPEND(TimedLog::LOG_VERBOSE, "--- Adding container item %s to packet with count %i and actionCount %i",
|
||||
containerItem.refId.c_str(), itemCount, actionCount);
|
||||
|
||||
baseObject.containerItems.push_back(containerItem);
|
||||
}
|
||||
|
||||
void ObjectList::addContainerItem(mwmp::BaseObject& baseObject, const std::string itemId, int itemCount, int actionCount)
|
||||
{
|
||||
mwmp::ContainerItem containerItem;
|
||||
containerItem.refId = itemId;
|
||||
containerItem.count = itemCount;
|
||||
containerItem.charge = -1;
|
||||
containerItem.enchantmentCharge = -1;
|
||||
containerItem.soul = "";
|
||||
containerItem.actionCount = actionCount;
|
||||
|
||||
LOG_APPEND(TimedLog::LOG_VERBOSE, "--- Adding container item %s to packet with count %i and actionCount %i",
|
||||
containerItem.refId.c_str(), itemCount, actionCount);
|
||||
|
||||
baseObject.containerItems.push_back(containerItem);
|
||||
}
|
||||
|
@ -104,7 +121,7 @@ void ObjectList::addEntireContainer(const MWWorld::Ptr& ptr)
|
|||
|
||||
for (const auto itemPtr : containerStore)
|
||||
{
|
||||
addContainerItem(baseObject, itemPtr, itemPtr.getRefData().getCount());
|
||||
addContainerItem(baseObject, itemPtr, itemPtr.getRefData().getCount(), itemPtr.getRefData().getCount());
|
||||
}
|
||||
|
||||
addObject(baseObject);
|
||||
|
|
|
@ -19,7 +19,8 @@ namespace mwmp
|
|||
|
||||
void addObject(BaseObject baseObject);
|
||||
BaseObject getBaseObject(const MWWorld::Ptr& ptr);
|
||||
void addContainerItem(mwmp::BaseObject& baseObject, const MWWorld::Ptr& itemPtr, int actionCount);
|
||||
void addContainerItem(mwmp::BaseObject& baseObject, const MWWorld::Ptr& itemPtr, int itemCount, int actionCount);
|
||||
void addContainerItem(mwmp::BaseObject& baseObject, const std::string itemId, int itemCount, int actionCount);
|
||||
void addEntireContainer(const MWWorld::Ptr& ptr);
|
||||
|
||||
void editContainers(MWWorld::CellStore* cellStore);
|
||||
|
|
|
@ -143,16 +143,8 @@ namespace MWScript
|
|||
objectList->cell = *ptr.getCell()->getCell();
|
||||
objectList->action = mwmp::BaseObjectList::ADD;
|
||||
objectList->containerSubAction = mwmp::BaseObjectList::NONE;
|
||||
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(ptr);
|
||||
mwmp::ContainerItem containerItem;
|
||||
containerItem.refId = item;
|
||||
containerItem.count = count;
|
||||
containerItem.charge = -1;
|
||||
containerItem.enchantmentCharge = -1;
|
||||
containerItem.soul = "";
|
||||
|
||||
baseObject.containerItems.push_back(containerItem);
|
||||
objectList->addContainerItem(baseObject, item, count, 0);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
}
|
||||
|
@ -280,15 +272,7 @@ namespace MWScript
|
|||
objectList->containerSubAction = mwmp::BaseObjectList::NONE;
|
||||
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(ptr);
|
||||
mwmp::ContainerItem containerItem;
|
||||
containerItem.refId = item;
|
||||
containerItem.count = 0;
|
||||
containerItem.actionCount = count;
|
||||
containerItem.charge = -1;
|
||||
containerItem.enchantmentCharge = -1;
|
||||
containerItem.soul = "";
|
||||
|
||||
baseObject.containerItems.push_back(containerItem);
|
||||
objectList->addContainerItem(baseObject, item, 0, count);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue