Fix regression from 3e7368b1cb to remove scene lock when spawning actors in async
#1743
This commit is contained in:
@@ -975,6 +975,7 @@ bool Level::loadScene(rapidjson_flax::Value& data, int32 engineBuild, Scene** ou
|
|||||||
SceneObject** objects = sceneObjects->Get();
|
SceneObject** objects = sceneObjects->Get();
|
||||||
if (context.Async)
|
if (context.Async)
|
||||||
{
|
{
|
||||||
|
ScenesLock.Unlock(); // Unlock scenes from Main Thread so Job Threads can use it to safely setup actors hierarchy (see Actor::Deserialize)
|
||||||
JobSystem::Execute([&](int32 i)
|
JobSystem::Execute([&](int32 i)
|
||||||
{
|
{
|
||||||
i++; // Start from 1. at index [0] was scene
|
i++; // Start from 1. at index [0] was scene
|
||||||
@@ -992,6 +993,7 @@ bool Level::loadScene(rapidjson_flax::Value& data, int32 engineBuild, Scene** ou
|
|||||||
else
|
else
|
||||||
SceneObjectsFactory::HandleObjectDeserializationError(stream);
|
SceneObjectsFactory::HandleObjectDeserializationError(stream);
|
||||||
}, objectsCount - 1);
|
}, objectsCount - 1);
|
||||||
|
ScenesLock.Lock();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user