mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-06-30 15:21:35 +00:00
[Client] Add and use getObjectFromPtr() method in ObjectList
This commit is contained in:
parent
e98e57c797
commit
96049befe9
2 changed files with 29 additions and 40 deletions
|
@ -898,6 +898,31 @@ 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)
|
||||
|
@ -942,26 +967,7 @@ void ObjectList::addObjectActivate(const MWWorld::Ptr& ptr, const MWWorld::Ptr&
|
|||
{
|
||||
cell = *ptr.getCell()->getCell();
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
mwmp::BaseObject baseObject = getObjectFromPtr(ptr);
|
||||
baseObject.activatingActor = MechanicsHelper::getTarget(activatingActor);
|
||||
|
||||
addObject(baseObject);
|
||||
|
@ -971,26 +977,7 @@ void ObjectList::addObjectHit(const MWWorld::Ptr& ptr, const MWWorld::Ptr& hitti
|
|||
{
|
||||
cell = *ptr.getCell()->getCell();
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
mwmp::BaseObject baseObject = getObjectFromPtr(ptr);
|
||||
baseObject.hittingActor = MechanicsHelper::getTarget(hittingActor);
|
||||
|
||||
addObject(baseObject);
|
||||
|
|
|
@ -47,6 +47,8 @@ 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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue