From f84e8054534972246e223bf20fac25204849dab6 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Sat, 29 Aug 2020 21:34:21 +0100 Subject: Entities can fail to add into a chunk - MoveEntityToNewChunk, AddEntity can fail. Ensure we handle these cases correctly --- src/ChunkMap.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/ChunkMap.cpp') diff --git a/src/ChunkMap.cpp b/src/ChunkMap.cpp index b93327ddc..14d0d0d94 100644 --- a/src/ChunkMap.cpp +++ b/src/ChunkMap.cpp @@ -892,7 +892,17 @@ void cChunkMap::AddEntity(OwnedEntity a_Entity) ); return; } + + const auto EntityPtr = a_Entity.get(); + ASSERT(EntityPtr->GetWorld() == m_World); + Chunk->AddEntity(std::move(a_Entity)); + + EntityPtr->OnAddToWorld(*m_World); + ASSERT(!EntityPtr->IsTicking()); + EntityPtr->SetIsTicking(true); + + cPluginManager::Get()->CallHookSpawnedEntity(*m_World, *EntityPtr); } -- cgit v1.2.3