mirror of
https://github.com/TES3MP/TES3MP.git
synced 2025-09-27 06:55:54 -04:00
[Client] Combine ObjectList's getBaseObject() and getObjectFromPtr()
This commit is contained in:
parent
975797c09b
commit
296c04af71
@ -123,7 +123,7 @@ namespace MWGui
|
||||
objectList->action = mwmp::BaseObjectList::REMOVE;
|
||||
objectList->containerSubAction = mwmp::BaseObjectList::DRAG;
|
||||
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(mPtr);
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObjectFromPtr(mPtr);
|
||||
MWWorld::Ptr itemPtr = mModel->getItem(mSelectedItem).mBase;
|
||||
objectList->addContainerItem(baseObject, itemPtr, itemPtr.getRefData().getCount(), count);
|
||||
objectList->addObject(baseObject);
|
||||
@ -167,7 +167,7 @@ namespace MWGui
|
||||
objectList->action = mwmp::BaseObjectList::ADD;
|
||||
objectList->containerSubAction = mwmp::BaseObjectList::DROP;
|
||||
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(mPtr);
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObjectFromPtr(mPtr);
|
||||
MWWorld::Ptr itemPtr = mDragAndDrop->mItem.mBase;
|
||||
objectList->addContainerItem(baseObject, itemPtr, mDragAndDrop->mDraggedCount, 0);
|
||||
objectList->addObject(baseObject);
|
||||
|
@ -121,7 +121,7 @@ MWWorld::Ptr ContainerItemModel::copyItem (const ItemStack& item, size_t count,
|
||||
objectList->cell = *source.getCell()->getCell();
|
||||
objectList->action = mwmp::BaseObjectList::ADD;
|
||||
objectList->containerSubAction = mwmp::BaseObjectList::NONE;
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(source);
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObjectFromPtr(source);
|
||||
objectList->addContainerItem(baseObject, item.mBase, count, 0);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
@ -173,7 +173,7 @@ void ContainerItemModel::removeItem (const ItemStack& item, size_t count)
|
||||
objectList->cell = *source.getCell()->getCell();
|
||||
objectList->action = mwmp::BaseObjectList::REMOVE;
|
||||
objectList->containerSubAction = mwmp::BaseObjectList::NONE;
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(source);
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObjectFromPtr(source);
|
||||
objectList->addContainerItem(baseObject, *it, it->getRefData().getCount(), toRemove);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
|
@ -69,12 +69,28 @@ void ObjectList::addObject(BaseObject baseObject)
|
||||
baseObjects.push_back(baseObject);
|
||||
}
|
||||
|
||||
BaseObject ObjectList::getBaseObject(const MWWorld::Ptr& ptr)
|
||||
mwmp::BaseObject ObjectList::getBaseObjectFromPtr(const MWWorld::Ptr& ptr)
|
||||
{
|
||||
mwmp::BaseObject baseObject;
|
||||
|
||||
if (ptr == MWBase::Environment::get().getWorld()->getPlayerPtr())
|
||||
{
|
||||
baseObject.isPlayer = true;
|
||||
baseObject.guid = mwmp::Main::get().getLocalPlayer()->guid;
|
||||
}
|
||||
else if (mwmp::PlayerList::isDedicatedPlayer(ptr))
|
||||
{
|
||||
baseObject.isPlayer = true;
|
||||
baseObject.guid = mwmp::PlayerList::getPlayer(ptr)->guid;
|
||||
}
|
||||
else
|
||||
{
|
||||
baseObject.isPlayer = false;
|
||||
baseObject.refId = ptr.getCellRef().getRefId();
|
||||
baseObject.refNum = ptr.getCellRef().getRefNum().mIndex;
|
||||
baseObject.mpNum = ptr.getCellRef().getMpNum();
|
||||
}
|
||||
|
||||
return baseObject;
|
||||
}
|
||||
|
||||
@ -117,7 +133,7 @@ void ObjectList::addEntireContainer(const MWWorld::Ptr& ptr)
|
||||
|
||||
MWWorld::ContainerStore& containerStore = ptr.getClass().getContainerStore(ptr);
|
||||
|
||||
mwmp::BaseObject baseObject = getBaseObject(ptr);
|
||||
mwmp::BaseObject baseObject = getBaseObjectFromPtr(ptr);
|
||||
|
||||
for (const auto itemPtr : containerStore)
|
||||
{
|
||||
@ -692,7 +708,7 @@ void ObjectList::restockObjects(MWWorld::CellStore* cellStore)
|
||||
cell = *ptrFound.getCell()->getCell();
|
||||
action = mwmp::BaseObjectList::SET;
|
||||
containerSubAction = mwmp::BaseObjectList::RESTOCK_RESULT;
|
||||
mwmp::BaseObject baseObject = getBaseObject(ptrFound);
|
||||
mwmp::BaseObject baseObject = getBaseObjectFromPtr(ptrFound);
|
||||
addEntireContainer(ptrFound);
|
||||
sendContainer();
|
||||
}
|
||||
@ -931,31 +947,6 @@ void ObjectList::playVideo()
|
||||
}
|
||||
}
|
||||
|
||||
mwmp::BaseObject ObjectList::getObjectFromPtr(const MWWorld::Ptr& ptr)
|
||||
{
|
||||
mwmp::BaseObject baseObject;
|
||||
|
||||
if (ptr == MWBase::Environment::get().getWorld()->getPlayerPtr())
|
||||
{
|
||||
baseObject.isPlayer = true;
|
||||
baseObject.guid = mwmp::Main::get().getLocalPlayer()->guid;
|
||||
}
|
||||
else if (mwmp::PlayerList::isDedicatedPlayer(ptr))
|
||||
{
|
||||
baseObject.isPlayer = true;
|
||||
baseObject.guid = mwmp::PlayerList::getPlayer(ptr)->guid;
|
||||
}
|
||||
else
|
||||
{
|
||||
baseObject.isPlayer = false;
|
||||
baseObject.refId = ptr.getCellRef().getRefId();
|
||||
baseObject.refNum = ptr.getCellRef().getRefNum().mIndex;
|
||||
baseObject.mpNum = ptr.getCellRef().getMpNum();
|
||||
}
|
||||
|
||||
return baseObject;
|
||||
}
|
||||
|
||||
void ObjectList::addAllContainers(MWWorld::CellStore* cellStore)
|
||||
{
|
||||
for (auto &ref : cellStore->getContainers()->mList)
|
||||
@ -1000,7 +991,7 @@ void ObjectList::addObjectGeneric(const MWWorld::Ptr& ptr)
|
||||
{
|
||||
cell = *ptr.getCell()->getCell();
|
||||
|
||||
mwmp::BaseObject baseObject = getObjectFromPtr(ptr);
|
||||
mwmp::BaseObject baseObject = getBaseObjectFromPtr(ptr);
|
||||
addObject(baseObject);
|
||||
}
|
||||
|
||||
@ -1008,7 +999,7 @@ void ObjectList::addObjectActivate(const MWWorld::Ptr& ptr, const MWWorld::Ptr&
|
||||
{
|
||||
cell = *ptr.getCell()->getCell();
|
||||
|
||||
mwmp::BaseObject baseObject = getObjectFromPtr(ptr);
|
||||
mwmp::BaseObject baseObject = getBaseObjectFromPtr(ptr);
|
||||
baseObject.activatingActor = MechanicsHelper::getTarget(activatingActor);
|
||||
|
||||
addObject(baseObject);
|
||||
@ -1018,7 +1009,7 @@ void ObjectList::addObjectHit(const MWWorld::Ptr& ptr, const MWWorld::Ptr& hitti
|
||||
{
|
||||
cell = *ptr.getCell()->getCell();
|
||||
|
||||
mwmp::BaseObject baseObject = getObjectFromPtr(ptr);
|
||||
mwmp::BaseObject baseObject = getBaseObjectFromPtr(ptr);
|
||||
baseObject.hittingActor = MechanicsHelper::getTarget(hittingActor);
|
||||
baseObject.hitAttack.success = false;
|
||||
|
||||
@ -1029,7 +1020,7 @@ void ObjectList::addObjectHit(const MWWorld::Ptr& ptr, const MWWorld::Ptr& hitti
|
||||
{
|
||||
cell = *ptr.getCell()->getCell();
|
||||
|
||||
mwmp::BaseObject baseObject = getObjectFromPtr(ptr);
|
||||
mwmp::BaseObject baseObject = getBaseObjectFromPtr(ptr);
|
||||
baseObject.hittingActor = MechanicsHelper::getTarget(hittingActor);
|
||||
baseObject.hitAttack = hitAttack;
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace mwmp
|
||||
void reset();
|
||||
|
||||
void addObject(BaseObject baseObject);
|
||||
BaseObject getBaseObject(const MWWorld::Ptr& ptr);
|
||||
mwmp::BaseObject getBaseObjectFromPtr(const MWWorld::Ptr& ptr);
|
||||
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);
|
||||
@ -48,8 +48,6 @@ namespace mwmp
|
||||
void playMusic();
|
||||
void playVideo();
|
||||
|
||||
mwmp::BaseObject getObjectFromPtr(const MWWorld::Ptr& ptr);
|
||||
|
||||
void addAllContainers(MWWorld::CellStore* cellStore);
|
||||
void addRequestedContainers(MWWorld::CellStore* cellStore, const std::vector<BaseObject>& requestObjects);
|
||||
|
||||
|
@ -143,7 +143,7 @@ namespace MWScript
|
||||
objectList->cell = *ptr.getCell()->getCell();
|
||||
objectList->action = mwmp::BaseObjectList::ADD;
|
||||
objectList->containerSubAction = mwmp::BaseObjectList::NONE;
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(ptr);
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObjectFromPtr(ptr);
|
||||
objectList->addContainerItem(baseObject, item, count, 0);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
@ -271,7 +271,7 @@ namespace MWScript
|
||||
objectList->action = mwmp::BaseObjectList::REMOVE;
|
||||
objectList->containerSubAction = mwmp::BaseObjectList::NONE;
|
||||
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObject(ptr);
|
||||
mwmp::BaseObject baseObject = objectList->getBaseObjectFromPtr(ptr);
|
||||
objectList->addContainerItem(baseObject, item, 0, count);
|
||||
objectList->addObject(baseObject);
|
||||
objectList->sendContainer();
|
||||
|
Loading…
x
Reference in New Issue
Block a user