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:
parent
bdedab15c9
commit
d966a12624
@ -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;
|
||||
}
|
||||
|
@ -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));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user