From 9a26ba0a72f573cb9eb8ba88b75a07891e38aeab Mon Sep 17 00:00:00 2001 From: jadebenn Date: Wed, 6 Mar 2024 19:23:24 -0600 Subject: [PATCH] feat: Provide SerializeEntity constant reference overload (#1491) --- dGame/EntityManager.cpp | 12 +++++++++--- dGame/EntityManager.h | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/dGame/EntityManager.cpp b/dGame/EntityManager.cpp index 4d648bbd..c95af3d7 100644 --- a/dGame/EntityManager.cpp +++ b/dGame/EntityManager.cpp @@ -418,10 +418,16 @@ void EntityManager::DestructEntity(Entity* entity, const SystemAddress& sysAddr) } void EntityManager::SerializeEntity(Entity* entity) { - if (!entity || entity->GetNetworkId() == 0) return; + if (!entity) return; + + EntityManager::SerializeEntity(*entity); +} - if (std::find(m_EntitiesToSerialize.begin(), m_EntitiesToSerialize.end(), entity->GetObjectID()) == m_EntitiesToSerialize.end()) { - m_EntitiesToSerialize.push_back(entity->GetObjectID()); +void EntityManager::SerializeEntity(const Entity& entity) { + if (entity.GetNetworkId() == 0) return; + + if (std::find(m_EntitiesToSerialize.cbegin(), m_EntitiesToSerialize.cend(), entity.GetObjectID()) == m_EntitiesToSerialize.cend()) { + m_EntitiesToSerialize.push_back(entity.GetObjectID()); } } diff --git a/dGame/EntityManager.h b/dGame/EntityManager.h index abffe546..fdbb1a55 100644 --- a/dGame/EntityManager.h +++ b/dGame/EntityManager.h @@ -45,6 +45,7 @@ public: void ConstructEntity(Entity* entity, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS, bool skipChecks = false); void DestructEntity(Entity* entity, const SystemAddress& sysAddr = UNASSIGNED_SYSTEM_ADDRESS); void SerializeEntity(Entity* entity); + void SerializeEntity(const Entity& entity); void ConstructAllEntities(const SystemAddress& sysAddr); void DestructAllEntities(const SystemAddress& sysAddr);