1
0

Don't set entity world twice (#4606)

* Don't set entity world twice

* Call HookSpawnedEntity when the entity actually spawned
This commit is contained in:
Mat 2020-04-09 23:26:06 +03:00 committed by GitHub
parent bdedab15c9
commit d966a12624
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 4 deletions

View File

@ -154,9 +154,6 @@ bool cEntity::Initialize(OwnedEntity a_Self, cWorld & a_EntityWorld)
ASSERT(m_World == nullptr);
ASSERT(GetParentChunk() == nullptr);
a_EntityWorld.AddEntity(std::move(a_Self));
ASSERT(m_World != nullptr);
cPluginManager::Get()->CallHookSpawnedEntity(a_EntityWorld, *this);
return true;
}

View File

@ -1032,6 +1032,7 @@ void cWorld::Tick(std::chrono::milliseconds a_Dt, std::chrono::milliseconds a_La
EntityPtr->OnAddToWorld(*this);
ASSERT(!EntityPtr->IsTicking());
EntityPtr->SetIsTicking(true);
cPluginManager::Get()->CallHookSpawnedEntity(*this, *Entity);
}
EntitiesToAdd.clear();
@ -3088,7 +3089,6 @@ void cWorld::ScheduleTask(int a_DelayTicks, std::function<void (cWorld &)> a_Tas
void cWorld::AddEntity(OwnedEntity a_Entity)
{
a_Entity->SetWorld(this);
cCSLock Lock(m_CSEntitiesToAdd);
m_EntitiesToAdd.emplace_back(std::move(a_Entity));
}