Added support for setting up entity aliases during the prefab to spawnable conversion.

Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com>
This commit is contained in:
AMZN-koppersr
2021-10-25 14:55:04 -07:00
parent a05d5f5d6d
commit b3cd339904
11 changed files with 743 additions and 89 deletions
@@ -175,6 +175,8 @@ namespace AZ::Prefab
const AzToolsFramework::Prefab::PrefabConversionUtils::PrefabProcessorContext::ProductAssetDependencyContainer& registeredDependencies,
AZStd::vector<AssetBuilderSDK::JobProduct>& outputProducts) const
{
using namespace AzToolsFramework::Prefab::PrefabConversionUtils;
outputProducts.reserve(store.size());
AZStd::vector<uint8_t> data;
@@ -211,17 +213,14 @@ namespace AZ::Prefab
if (AssetBuilderSDK::OutputObject(&object.GetAsset(), object.GetAssetType(), productPath.String(), object.GetAssetType(),
object.GetAsset().GetId().m_subId, product))
{
auto findRegisteredDependencies = registeredDependencies.find(object.GetAsset().GetId());
if (findRegisteredDependencies != registeredDependencies.end())
{
AZStd::transform(findRegisteredDependencies->second.begin(), findRegisteredDependencies->second.end(),
AZStd::back_inserter(product.m_dependencies),
[](const AZ::Data::AssetId& productId) -> AssetBuilderSDK::ProductDependency
{
return AssetBuilderSDK::ProductDependency(productId,
AZ::Data::ProductDependencyInfo::CreateFlags(AZ::Data::AssetLoadBehavior::NoLoad));
});
}
auto range = registeredDependencies.equal_range(object.GetAsset().GetId());
AZStd::transform(range.first, range.second,
AZStd::back_inserter(product.m_dependencies),
[](const auto& dependency) -> AssetBuilderSDK::ProductDependency
{
return AssetBuilderSDK::ProductDependency(
dependency.second.m_assetId, AZ::Data::ProductDependencyInfo::CreateFlags(dependency.second.m_loadBehavior));
});
outputProducts.push_back(AZStd::move(product));
}