feat(Core/Maps): Improve map object updater (#22392)

This commit is contained in:
Takenbacon
2025-07-11 07:00:16 -07:00
committed by GitHub
parent 9d6c7ad7ea
commit 1c3cbd3d9e
16 changed files with 285 additions and 181 deletions

View File

@@ -1188,6 +1188,7 @@ void WorldObject::AddToWorld()
{
Object::AddToWorld();
GetMap()->GetZoneAndAreaId(GetPhaseMask(), _zoneId, _areaId, GetPositionX(), GetPositionY(), GetPositionZ());
GetMap()->AddObjectToPendingUpdateList(this);
}
void WorldObject::RemoveFromWorld()
@@ -3220,3 +3221,27 @@ void WorldObject::RemoveAllowedLooter(ObjectGuid guid)
{
_allowedLooters.erase(guid);
}
bool WorldObject::IsUpdateNeeded()
{
if (isActiveObject())
return true;
return false;
}
bool WorldObject::CanBeAddedToMapUpdateList()
{
switch (GetTypeId())
{
case TYPEID_UNIT:
return IsCreature();
case TYPEID_DYNAMICOBJECT:
case TYPEID_GAMEOBJECT:
return true;
default:
return false;
}
return false;
}