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
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 285 additions and 181 deletions

View file

@ -3076,3 +3076,21 @@ std::string GameObject::GetDebugInfo() const
<< "SpawnId: " << GetSpawnId() << " GoState: " << std::to_string(GetGoState()) << " ScriptId: " << GetScriptId() << " AIName: " << GetAIName();
return sstr.str();
}
// Note: This is called in a tight (heavy) loop, is it critical that all checks are FAST and are hopefully only simple conditionals.
bool GameObject::IsUpdateNeeded()
{
if (WorldObject::IsUpdateNeeded())
return true;
if (GetMap()->isCellMarked(GetCurrentCell().GetCellCoord().GetId()))
return true;
if (IsVisibilityOverridden())
return true;
if (IsTransport())
return true;
return false;
}