Split editor entity activation from PrefabSystemComponent (#6787)

* Split editor entity activation from PrefabSystemComponent

Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>

* Fixed a small typo

Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>

* Pass entity activation callback during prefab instantiation for failing tests

Signed-off-by: srikappa-amzn <82230713+srikappa-amzn@users.noreply.github.com>
This commit is contained in:
srikappa-amzn
2022-01-11 16:53:46 -08:00
committed by GitHub
parent 73419387c5
commit 13bc91aa77
6 changed files with 81 additions and 18 deletions
@@ -170,7 +170,14 @@ namespace UnitTest
m_instanceUpdateExecutorInterface->UpdateTemplateInstancesInQueue();
//instantiate a new nested instance
nestedInstance = m_prefabSystemComponent->InstantiatePrefab(nestedTemplateId);
nestedInstance = m_prefabSystemComponent->InstantiatePrefab(
nestedTemplateId, AZStd::nullopt,
[](const AzToolsFramework::EntityList& entities)
{
AzToolsFramework::EditorEntityContextRequestBus::Broadcast(
&AzToolsFramework::EditorEntityContextRequests::HandleEntitiesAdded, entities);
});
nestedContainerEntityId = nestedInstance->GetContainerEntityId();
AZ::ComponentApplicationBus::BroadcastResult(nestedContainerEntity, &AZ::ComponentApplicationBus::Events::FindEntity, nestedContainerEntityId);
ASSERT_TRUE(nestedContainerEntity);
@@ -198,7 +205,13 @@ namespace UnitTest
LinkId linkId = undoInstanceLinkNode.GetLinkId();
rootInstance = m_prefabSystemComponent->InstantiatePrefab(rootTemplateId);
rootInstance = m_prefabSystemComponent->InstantiatePrefab(
rootTemplateId, AZStd::nullopt,
[](const AzToolsFramework::EntityList& entities)
{
AzToolsFramework::EditorEntityContextRequestBus::Broadcast(
&AzToolsFramework::EditorEntityContextRequests::HandleEntitiesAdded, entities);
});
aliases = rootInstance->GetNestedInstanceAliases(nestedTemplateId);
//verify the link was created
@@ -228,7 +241,13 @@ namespace UnitTest
m_instanceUpdateExecutorInterface->UpdateTemplateInstancesInQueue();
//verify the update worked
rootInstance = m_prefabSystemComponent->InstantiatePrefab(rootTemplateId);
rootInstance = m_prefabSystemComponent->InstantiatePrefab(
rootTemplateId, AZStd::nullopt,
[](const AzToolsFramework::EntityList& entities)
{
AzToolsFramework::EditorEntityContextRequestBus::Broadcast(
&AzToolsFramework::EditorEntityContextRequests::HandleEntitiesAdded, entities);
});
aliases = rootInstance->GetNestedInstanceAliases(nestedTemplateId);
nestedInstanceRef = rootInstance->FindNestedInstance(aliases[0]);
nestedContainerEntityId = nestedInstanceRef->get().GetContainerEntityId();
@@ -244,7 +263,13 @@ namespace UnitTest
m_instanceUpdateExecutorInterface->UpdateTemplateInstancesInQueue();
//verify the undo update worked
rootInstance = m_prefabSystemComponent->InstantiatePrefab(rootTemplateId);
rootInstance = m_prefabSystemComponent->InstantiatePrefab(
rootTemplateId, AZStd::nullopt,
[](const AzToolsFramework::EntityList& entities)
{
AzToolsFramework::EditorEntityContextRequestBus::Broadcast(
&AzToolsFramework::EditorEntityContextRequests::HandleEntitiesAdded, entities);
});
aliases = rootInstance->GetNestedInstanceAliases(nestedTemplateId);
nestedInstanceRef = rootInstance->FindNestedInstance(aliases[0]);
nestedContainerEntityId = nestedInstanceRef->get().GetContainerEntityId();
@@ -259,7 +284,13 @@ namespace UnitTest
undoLinkUpdateNode.Redo();
m_instanceUpdateExecutorInterface->UpdateTemplateInstancesInQueue();
rootInstance = m_prefabSystemComponent->InstantiatePrefab(rootTemplateId);
rootInstance = m_prefabSystemComponent->InstantiatePrefab(
rootTemplateId, AZStd::nullopt,
[](const AzToolsFramework::EntityList& entities)
{
AzToolsFramework::EditorEntityContextRequestBus::Broadcast(
&AzToolsFramework::EditorEntityContextRequests::HandleEntitiesAdded, entities);
});
aliases = rootInstance->GetNestedInstanceAliases(nestedTemplateId);
nestedInstanceRef = rootInstance->FindNestedInstance(aliases[0]);
nestedContainerEntityId = nestedInstanceRef->get().GetContainerEntityId();
@@ -287,7 +318,13 @@ namespace UnitTest
m_instanceUpdateExecutorInterface->UpdateTemplateInstancesInQueue();
//verify the update worked
rootInstance = m_prefabSystemComponent->InstantiatePrefab(rootTemplateId);
rootInstance = m_prefabSystemComponent->InstantiatePrefab(
rootTemplateId, AZStd::nullopt,
[](const AzToolsFramework::EntityList& entities)
{
AzToolsFramework::EditorEntityContextRequestBus::Broadcast(
&AzToolsFramework::EditorEntityContextRequests::HandleEntitiesAdded, entities);
});
aliases = rootInstance->GetNestedInstanceAliases(nestedTemplateId);
nestedInstanceRef = rootInstance->FindNestedInstance(aliases[0]);
nestedContainerEntityId = nestedInstanceRef->get().GetContainerEntityId();