diff --git a/Source/Editor/Modules/SceneModule.cs b/Source/Editor/Modules/SceneModule.cs index 0a51038ac..257262585 100644 --- a/Source/Editor/Modules/SceneModule.cs +++ b/Source/Editor/Modules/SceneModule.cs @@ -591,7 +591,7 @@ namespace FlaxEditor.Modules private void OnActorNameChanged(Actor actor) { ActorNode node = GetActorNode(actor); - node?.TreeNode.OnNameChanged(); + node?.TreeNode.UpdateText(); } private void OnActorActiveChanged(Actor actor) diff --git a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs index 83ea666d9..c4edda65e 100644 --- a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs +++ b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs @@ -97,11 +97,6 @@ namespace FlaxEditor.SceneGraph.GUI } } - internal void OnNameChanged() - { - UpdateText(); - } - /// /// Updates the tree node text. /// diff --git a/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs b/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs index 1b1cfb4ff..5a532e362 100644 --- a/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs +++ b/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs @@ -430,7 +430,7 @@ namespace FlaxEditor.Windows.Assets { if (actorNode.Actor) { - actorNode.TreeNode.OnNameChanged(); + actorNode.TreeNode.UpdateText(); actorNode.TreeNode.OnOrderInParentChanged(); } diff --git a/Source/Engine/Level/Prefabs/Prefab.Apply.cpp b/Source/Engine/Level/Prefabs/Prefab.Apply.cpp index 5ea8ad0a4..e0df48fae 100644 --- a/Source/Engine/Level/Prefabs/Prefab.Apply.cpp +++ b/Source/Engine/Level/Prefabs/Prefab.Apply.cpp @@ -1255,20 +1255,19 @@ void Prefab::SyncNestedPrefabs(const NestedPrefabsList& allPrefabs, ArrayWaitForLoaded()) { LOG(Warning, "Waiting for prefab asset load failed."); continue; } + // Sync only if prefab is used by this prefab (directly) and it has been captured before const int32 nestedPrefabIndex = nestedPrefab->NestedPrefabs.Find(GetID()); if (nestedPrefabIndex != -1) { - if (nestedPrefab->SyncChangesInternal(allPrefabsInstancesData[nestedPrefabIndex])) + if (nestedPrefab->SyncChangesInternal(allPrefabsInstancesData[i])) continue; - nestedPrefab->SyncNestedPrefabs(allPrefabs, allPrefabsInstancesData); - ObjectsRemovalService::Flush(); } }