Undoing old changes and storing linkId to prefabDom
Signed-off-by: mnaumov <mnaumov@amazon.com>
This commit is contained in:
+1
-1
@@ -202,7 +202,7 @@ namespace AzToolsFramework
|
||||
m_rootInstance->SetTemplateId(templateId);
|
||||
m_rootInstance->SetTemplateSourcePath(m_loaderInterface->GenerateRelativePath(filename));
|
||||
m_rootInstance->SetContainerEntityName("Level");
|
||||
m_prefabSystemComponent->PropagateTemplateChangesDown(templateId);
|
||||
m_prefabSystemComponent->PropagateTemplateChanges(templateId);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+7
@@ -81,6 +81,13 @@ namespace AzToolsFramework
|
||||
result.Combine(resultInstances);
|
||||
}
|
||||
|
||||
{
|
||||
AZ::ScopedContextPath subPathSource(context, "m_linkId");
|
||||
|
||||
result = ContinueStoringToJsonObjectField(
|
||||
outputValue, "LinkId", &(instance->m_linkId), &InvalidLinkId, azrtti_typeid<AZ::u64>(), context);
|
||||
}
|
||||
|
||||
return context.Report(result,
|
||||
result.GetProcessing() == JSR::Processing::Completed ? "Successfully stored Instance information for Prefab." :
|
||||
"Failed to store Instance information for Prefab.");
|
||||
|
||||
@@ -153,24 +153,6 @@ namespace AzToolsFramework
|
||||
}
|
||||
}
|
||||
|
||||
void PrefabSystemComponent::PropagateTemplateChangesDown(TemplateId templateId, InstanceOptionalReference instanceToExclude)
|
||||
{
|
||||
PropagateTemplateChanges(templateId, instanceToExclude);
|
||||
|
||||
auto templateIterator = m_templateIdMap.find(templateId);
|
||||
if (templateIterator != m_templateIdMap.end())
|
||||
{
|
||||
for (LinkId linkId : templateIterator->second.GetLinks())
|
||||
{
|
||||
auto linkIterator = m_linkIdMap.find(linkId);
|
||||
if (linkIterator != m_linkIdMap.end())
|
||||
{
|
||||
PropagateTemplateChangesDown(linkIterator->second.GetSourceTemplateId(), instanceToExclude);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PrefabSystemComponent::UpdatePrefabTemplate(TemplateId templateId, const PrefabDom& updatedDom)
|
||||
{
|
||||
auto templateToUpdate = FindTemplate(templateId);
|
||||
|
||||
@@ -213,8 +213,6 @@ namespace AzToolsFramework
|
||||
|
||||
void PropagateTemplateChanges(TemplateId templateId, InstanceOptionalReference instanceToExclude = AZStd::nullopt) override;
|
||||
|
||||
void PropagateTemplateChangesDown(TemplateId templateIdd, InstanceOptionalReference instanceToExclude = AZStd::nullopt) override;
|
||||
|
||||
/**
|
||||
* Updates all Instances owned by a Template.
|
||||
*
|
||||
|
||||
-2
@@ -53,8 +53,6 @@ namespace AzToolsFramework
|
||||
virtual PrefabDom& FindTemplateDom(TemplateId templateId) = 0;
|
||||
virtual void UpdatePrefabTemplate(TemplateId templateId, const PrefabDom& updatedDom) = 0;
|
||||
virtual void PropagateTemplateChanges(TemplateId templateId, InstanceOptionalReference instanceToExclude = AZStd::nullopt) = 0;
|
||||
//! Propagates template changes recursively down to its dependents
|
||||
virtual void PropagateTemplateChangesDown(TemplateId templateIdd, InstanceOptionalReference instanceToExclude = AZStd::nullopt) = 0;
|
||||
|
||||
virtual AZStd::unique_ptr<Instance> InstantiatePrefab(AZ::IO::PathView filePath) = 0;
|
||||
virtual AZStd::unique_ptr<Instance> InstantiatePrefab(const TemplateId& templateId) = 0;
|
||||
|
||||
Reference in New Issue
Block a user