forked from teamnwah/openmw-tes3coop
Move some deleteObject logic from OpDelete to MWWorld::deleteObject
This commit is contained in:
parent
2786530430
commit
8ff747fbef
2 changed files with 6 additions and 16 deletions
|
@ -512,18 +512,7 @@ namespace MWScript
|
||||||
runtime.pop();
|
runtime.pop();
|
||||||
|
|
||||||
if (parameter == 1)
|
if (parameter == 1)
|
||||||
{
|
MWBase::Environment::get().getWorld()->deleteObject(ptr);
|
||||||
if (ptr.isInCell())
|
|
||||||
MWBase::Environment::get().getWorld()->deleteObject (ptr);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MWWorld::ContainerStore* store = ptr.getContainerStore();
|
|
||||||
if (store != NULL)
|
|
||||||
store->remove(ptr, ptr.getRefData().getCount(), ptr);
|
|
||||||
else
|
|
||||||
ptr.getRefData().setCount(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -837,12 +837,13 @@ namespace MWWorld
|
||||||
|
|
||||||
void World::deleteObject (const Ptr& ptr)
|
void World::deleteObject (const Ptr& ptr)
|
||||||
{
|
{
|
||||||
if (ptr.getRefData().getCount()>0)
|
if (ptr.getRefData().getCount() > 0)
|
||||||
{
|
{
|
||||||
ptr.getRefData().setCount (0);
|
ptr.getRefData().setCount(0);
|
||||||
|
|
||||||
if (mWorldScene->getActiveCells().find (ptr.getCell())!=mWorldScene->getActiveCells().end() &&
|
if (ptr.isInCell()
|
||||||
ptr.getRefData().isEnabled())
|
&& mWorldScene->getActiveCells().find(ptr.getCell()) != mWorldScene->getActiveCells().end()
|
||||||
|
&& ptr.getRefData().isEnabled())
|
||||||
{
|
{
|
||||||
mWorldScene->removeObjectFromScene (ptr);
|
mWorldScene->removeObjectFromScene (ptr);
|
||||||
mLocalScripts.remove (ptr);
|
mLocalScripts.remove (ptr);
|
||||||
|
|
Loading…
Reference in a new issue