Fix error when spawning prefab with rigidbody
This commit is contained in:
@@ -43,6 +43,8 @@ Actor::Actor(const SpawnParams& params)
|
|||||||
, _staticFlags(StaticFlags::FullyStatic)
|
, _staticFlags(StaticFlags::FullyStatic)
|
||||||
, _localTransform(Transform::Identity)
|
, _localTransform(Transform::Identity)
|
||||||
, _transform(Transform::Identity)
|
, _transform(Transform::Identity)
|
||||||
|
, _sphere(BoundingSphere::Empty)
|
||||||
|
, _box(BoundingBox::Empty)
|
||||||
, HideFlags(HideFlags::None)
|
, HideFlags(HideFlags::None)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -973,7 +973,7 @@ bool Level::loadScene(rapidjson_flax::Value& data, int32 engineBuild, bool autoI
|
|||||||
if (obj && obj->GetParent() == nullptr)
|
if (obj && obj->GetParent() == nullptr)
|
||||||
{
|
{
|
||||||
sceneObjects->At(i) = nullptr;
|
sceneObjects->At(i) = nullptr;
|
||||||
LOG(Warning, "Scene object {0} {1} has missing parent object after scene load. Removing it.", obj->GetID(), obj->ToString());
|
LOG(Warning, "Scene object {0} {1} has missing parent object after load. Removing it.", obj->GetID(), obj->ToString());
|
||||||
obj->DeleteObject();
|
obj->DeleteObject();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -181,6 +181,8 @@ Actor* PrefabManager::SpawnPrefab(Prefab* prefab, Actor* parent, Dictionary<Guid
|
|||||||
|
|
||||||
// Prepare parent linkage for prefab root actor
|
// Prepare parent linkage for prefab root actor
|
||||||
root->_parent = parent;
|
root->_parent = parent;
|
||||||
|
if (parent)
|
||||||
|
parent->Children.Add(root);
|
||||||
|
|
||||||
// Link actors hierarchy
|
// Link actors hierarchy
|
||||||
for (int32 i = 0; i < sceneObjects->Count(); i++)
|
for (int32 i = 0; i < sceneObjects->Count(); i++)
|
||||||
@@ -226,7 +228,7 @@ Actor* PrefabManager::SpawnPrefab(Prefab* prefab, Actor* parent, Dictionary<Guid
|
|||||||
if (obj && obj->GetParent() == nullptr)
|
if (obj && obj->GetParent() == nullptr)
|
||||||
{
|
{
|
||||||
sceneObjects->At(i) = nullptr;
|
sceneObjects->At(i) = nullptr;
|
||||||
LOG(Warning, "Scene object {0} {1} has missing parent objct after prefab spawn. Removing it.", obj->GetID(), obj->ToString());
|
LOG(Warning, "Scene object {0} {1} has missing parent object after load. Removing it.", obj->GetID(), obj->ToString());
|
||||||
obj->DeleteObject();
|
obj->DeleteObject();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user