Used actual types instead of auto and some more minor changes

Signed-off-by: srikappa-amzn <srikappa@amazon.com>
This commit is contained in:
srikappa-amzn
2021-09-03 12:34:32 -07:00
parent 8331b8dd8a
commit f6ce3678fa
11 changed files with 41 additions and 34 deletions
@@ -362,11 +362,7 @@ namespace AzToolsFramework
Prefab::TemplateId PrefabEditorEntityOwnershipService::GetRootPrefabTemplateId()
{
AZ_Assert(m_rootInstance, "A valid root prefab instance couldn't be found in PrefabEditorEntityOwnershipService.");
if (m_rootInstance)
{
return m_rootInstance->GetTemplateId();
}
return Prefab::InvalidTemplateId;
return m_rootInstance ? m_rootInstance->GetTemplateId() : Prefab::InvalidTemplateId;
}
const AZStd::vector<AZ::Data::Asset<AZ::Data::AssetData>>& PrefabEditorEntityOwnershipService::GetPlayInEditorAssetData()
@@ -670,7 +670,7 @@ namespace AzToolsFramework
return finalPath;
}
SaveAllPrefabsPreference PrefabLoader::GetSaveAllPrefabsPreference()
SaveAllPrefabsPreference PrefabLoader::GetSaveAllPrefabsPreference() const
{
SaveAllPrefabsPreference saveAllPrefabsPreference = SaveAllPrefabsPreference::AskEveryTime;
if (auto* registry = AZ::SettingsRegistry::Get())
@@ -110,7 +110,7 @@ namespace AzToolsFramework
//! Returns if the path is a valid path for a prefab
static bool IsValidPrefabPath(AZ::IO::PathView path);
SaveAllPrefabsPreference GetSaveAllPrefabsPreference() override;
SaveAllPrefabsPreference GetSaveAllPrefabsPreference() const override;
void SetSaveAllPrefabsPreference(SaveAllPrefabsPreference saveAllPrefabsPreference) override;
private:
@@ -91,7 +91,7 @@ namespace AzToolsFramework
//! The path will always use the '/' separator.
virtual AZ::IO::Path GenerateRelativePath(AZ::IO::PathView path) = 0;
virtual SaveAllPrefabsPreference GetSaveAllPrefabsPreference() = 0;
virtual SaveAllPrefabsPreference GetSaveAllPrefabsPreference() const = 0;
virtual void SetSaveAllPrefabsPreference(SaveAllPrefabsPreference saveAllPrefabsPreference) = 0;
protected:
@@ -756,7 +756,7 @@ namespace AzToolsFramework
bool PrefabSystemComponent::AreDirtyTemplatesPresent(TemplateId templateId)
{
auto prefabTemplate = FindTemplate(templateId);
TemplateReference prefabTemplate = FindTemplate(templateId);
if (!prefabTemplate.has_value())
{
@@ -769,9 +769,9 @@ namespace AzToolsFramework
return true;
}
auto linkIds = prefabTemplate->get().GetLinks();
const Template::Links& linkIds = prefabTemplate->get().GetLinks();
for (auto linkId : linkIds)
for (LinkId linkId : linkIds)
{
auto linkIterator = m_linkIdMap.find(linkId);
if (linkIterator != m_linkIdMap.end())
@@ -784,10 +784,9 @@ namespace AzToolsFramework
void PrefabSystemComponent::SaveAllDirtyTemplates(TemplateId templateId)
{
AZStd::set<AZ::IO::PathView> dirtyTemplatePaths;
GetDirtyTemplatePaths(templateId, dirtyTemplatePaths);
AZStd::set<AZ::IO::PathView> dirtyTemplatePaths = GetDirtyTemplatePaths(templateId);
for (auto dirtyTemplatePath : dirtyTemplatePaths)
for (AZ::IO::PathView dirtyTemplatePath : dirtyTemplatePaths)
{
auto dirtyTemplateIterator = m_templateFilePathToIdMap.find(dirtyTemplatePath);
if (dirtyTemplateIterator == m_templateFilePathToIdMap.end())
@@ -801,9 +800,18 @@ namespace AzToolsFramework
}
}
void PrefabSystemComponent::GetDirtyTemplatePaths(TemplateId templateId, AZStd::set<AZ::IO::PathView>& dirtyTemplatePaths)
AZStd::set<AZ::IO::PathView> PrefabSystemComponent::GetDirtyTemplatePaths(TemplateId templateId)
{
auto prefabTemplate = FindTemplate(templateId);
AZStd::vector<AZ::IO::PathView> dirtyTemplatePathVector;
GetDirtyTemplatePathsHelper(templateId, dirtyTemplatePathVector);
AZStd::set<AZ::IO::PathView> dirtyTemplatePaths;
dirtyTemplatePaths.insert(dirtyTemplatePathVector.begin(), dirtyTemplatePathVector.end());
return AZStd::move(dirtyTemplatePaths);
}
void PrefabSystemComponent::GetDirtyTemplatePathsHelper(TemplateId templateId, AZStd::vector<AZ::IO::PathView>& dirtyTemplatePaths)
{
TemplateReference prefabTemplate = FindTemplate(templateId);
if (!prefabTemplate.has_value())
{
@@ -813,17 +821,17 @@ namespace AzToolsFramework
if (IsTemplateDirty(templateId))
{
dirtyTemplatePaths.emplace(prefabTemplate->get().GetFilePath());
dirtyTemplatePaths.emplace_back(prefabTemplate->get().GetFilePath());
}
auto linkIds = prefabTemplate->get().GetLinks();
const Template::Links& linkIds = prefabTemplate->get().GetLinks();
for (auto linkId : linkIds)
for (LinkId linkId : linkIds)
{
auto linkIterator = m_linkIdMap.find(linkId);
if (linkIterator != m_linkIdMap.end())
{
GetDirtyTemplatePaths(linkIterator->second.GetSourceTemplateId(), dirtyTemplatePaths);
GetDirtyTemplatePathsHelper(linkIterator->second.GetSourceTemplateId(), dirtyTemplatePaths);
}
}
}
@@ -187,7 +187,7 @@ namespace AzToolsFramework
void SaveAllDirtyTemplates(TemplateId templateId) override;
void GetDirtyTemplatePaths(TemplateId parentTemplateId, AZStd::set<AZ::IO::PathView>& dirtyTemplatePaths) override;
AZStd::set<AZ::IO::PathView> GetDirtyTemplatePaths(TemplateId parentTemplateId) override;
//////////////////////////////////////////////////////////////////////////
@@ -341,6 +341,9 @@ namespace AzToolsFramework
*/
bool RemoveLinkFromTargetTemplate(const LinkId& linkId, const Link& link);
// Helper function for GetDirtyTemplatePaths(). It uses vector to speed up iteration times.
void GetDirtyTemplatePathsHelper(TemplateId parentTemplateId, AZStd::vector<AZ::IO::PathView>& dirtyTemplatePaths);
// A container for mapping Templates to the Links they may propagate changes to.
AZStd::unordered_map<TemplateId, AZStd::unordered_set<LinkId>> m_templateToLinkIdsMap;
@@ -61,8 +61,8 @@ namespace AzToolsFramework
//! Recursive function that fetches the set of dirty templates given a starting template to check for outgoing links.
//! @param templateId The id of the template provided as the beginning template to check the outgoing links.
//! @param[out] dirtyTemplatePaths The set of dirty template paths populated.
virtual void GetDirtyTemplatePaths(TemplateId parentTemplateId, AZStd::set<AZ::IO::PathView>& dirtyTemplatePaths) = 0;
//! @return The set of dirty template paths populated.
virtual AZStd::set<AZ::IO::PathView> GetDirtyTemplatePaths(TemplateId parentTemplateId) = 0;
virtual PrefabDom& FindTemplateDom(TemplateId templateId) = 0;
virtual void UpdatePrefabTemplate(TemplateId templateId, const PrefabDom& updatedDom) = 0;
@@ -1096,13 +1096,12 @@ namespace AzToolsFramework
{
SavePrefabsInDialog(prefabSaveSelectionDialog.get());
}
return prefabSaveSelection;
}
void PrefabIntegrationManager::ExecuteSavePrefabDialog(TemplateId templateId, bool useSaveAllPrefabsPreference)
{
using namespace AzToolsFramework::Prefab;
auto prefabTemplate = s_prefabSystemComponentInterface->FindTemplate(templateId);
AZ::IO::Path prefabTemplatePath = prefabTemplate->get().GetFilePath();
@@ -1252,8 +1251,8 @@ namespace AzToolsFramework
levelEntitiesSaveQuestionLayout->addWidget(prefabSaveQuestionLabel);
contentLayout->addWidget(prefabSaveWarningFrame);
AZStd::set<AZ::IO::PathView> dirtyTemplatePaths;
s_prefabSystemComponentInterface->GetDirtyTemplatePaths(templateId, dirtyTemplatePaths);
AZStd::set<AZ::IO::PathView> dirtyTemplatePaths = s_prefabSystemComponentInterface->GetDirtyTemplatePaths(templateId);
auto templateToSave = s_prefabSystemComponentInterface->FindTemplate(templateId);
AZ::IO::Path templateToSaveFilePath = templateToSave->get().GetFilePath();
AZStd::unique_ptr<AzQtComponents::Card> unsavedPrefabsCard = ConstructUnsavedPrefabsCard(templateId);
@@ -1284,8 +1283,7 @@ namespace AzToolsFramework
{
FlowLayout* unsavedPrefabsLayout = new FlowLayout(AzToolsFramework::GetActiveWindow());
AZStd::set<AZ::IO::PathView> dirtyTemplatePaths;
s_prefabSystemComponentInterface->GetDirtyTemplatePaths(templateId, dirtyTemplatePaths);
AZStd::set<AZ::IO::PathView> dirtyTemplatePaths = s_prefabSystemComponentInterface->GetDirtyTemplatePaths(templateId);
for (AZ::IO::PathView dirtyTemplatePath : dirtyTemplatePaths)
{