From 1ca67cad804c72920e842fcace94f3964f974bac Mon Sep 17 00:00:00 2001 From: srikappa-amzn Date: Tue, 24 Aug 2021 18:34:51 -0700 Subject: [PATCH] Moved PrefabSavePreference settings registry code from PrefabEditorEntityOwnershipInterface to PrefabLoaderInterface Signed-off-by: srikappa-amzn --- Code/Editor/CryEdit.cpp | 10 +++-- Code/Editor/CryEditDoc.cpp | 38 ++++++++++--------- Code/Editor/EditorPreferencesPageGeneral.cpp | 6 +-- Code/Editor/EditorPreferencesPageGeneral.h | 4 +- Code/Editor/Settings.cpp | 16 ++++---- Code/Editor/Settings.h | 6 +-- .../PrefabEditorEntityOwnershipInterface.h | 9 ----- .../PrefabEditorEntityOwnershipService.cpp | 20 ---------- .../PrefabEditorEntityOwnershipService.h | 3 -- .../AzToolsFramework/Prefab/PrefabLoader.cpp | 31 +++++++++++++++ .../AzToolsFramework/Prefab/PrefabLoader.h | 5 +++ .../Prefab/PrefabLoaderInterface.h | 15 ++++++++ .../Prefab/PrefabSystemComponent.cpp | 1 + 13 files changed, 95 insertions(+), 69 deletions(-) diff --git a/Code/Editor/CryEdit.cpp b/Code/Editor/CryEdit.cpp index 6e921833cb..b60351b6b9 100644 --- a/Code/Editor/CryEdit.cpp +++ b/Code/Editor/CryEdit.cpp @@ -3182,6 +3182,8 @@ bool CCryEditApp::CreateLevel(bool& wasCreateLevelOperationCancelled) } else { + using namespace AzToolsFramework::Prefab; + auto prefabSystemComponentInterface = AZ::Interface::Get(); auto prefabSaveSelectionDialog = GetIEditor()->GetDocument()->ConstructSaveLevelDialog(); @@ -3189,9 +3191,9 @@ bool CCryEditApp::CreateLevel(bool& wasCreateLevelOperationCancelled) QCheckBox* saveAllPrefabsPreferenceCheckBox = prefabSaveSelectionDialog->findChild("SaveAllPrefabsPreferenceCheckBox"); QCheckBox* saveAllPrefabsCheckBox = prefabSaveSelectionDialog->findChild("SaveAllPrefabsCheckbox"); - AzToolsFramework::SavePrefabsPreference savePrefabsPreference = saveAllPrefabsCheckBox->isChecked() - ? AzToolsFramework::SavePrefabsPreference::SaveAll - : AzToolsFramework::SavePrefabsPreference::SaveNone; + SavePrefabsPreference savePrefabsPreference = saveAllPrefabsCheckBox->isChecked() + ? SavePrefabsPreference::SaveAll + : SavePrefabsPreference::SaveNone; switch (1 - prefabSaveSelection) { @@ -3208,7 +3210,7 @@ bool CCryEditApp::CreateLevel(bool& wasCreateLevelOperationCancelled) gSettings.SetSavePrefabsPreference(savePrefabsPreference); gSettings.Save(); } - if (savePrefabsPreference == AzToolsFramework::SavePrefabsPreference::SaveAll) + if (savePrefabsPreference == SavePrefabsPreference::SaveAll) { prefabSystemComponentInterface->SaveAllDirtyTemplates(); } diff --git a/Code/Editor/CryEditDoc.cpp b/Code/Editor/CryEditDoc.cpp index 3301d2521a..208604e2dd 100644 --- a/Code/Editor/CryEditDoc.cpp +++ b/Code/Editor/CryEditDoc.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include // Editor @@ -696,15 +697,16 @@ bool CCryEditDoc::SaveModified() } else { + using namespace AzToolsFramework::Prefab; + auto prefabSystemComponentInterface = AZ::Interface::Get(); auto prefabSaveSelectionDialog = ConstructSaveLevelDialog(); int prefabSaveSelection = prefabSaveSelectionDialog->exec(); QCheckBox* saveAllPrefabsPreferenceCheckBox = prefabSaveSelectionDialog->findChild("SaveAllPrefabsPreferenceCheckBox"); QCheckBox* saveAllPrefabsCheckBox = prefabSaveSelectionDialog->findChild("SaveAllPrefabsCheckbox"); - AzToolsFramework::SavePrefabsPreference savePrefabsPreference = saveAllPrefabsCheckBox->isChecked() - ? AzToolsFramework::SavePrefabsPreference::SaveAll - : AzToolsFramework::SavePrefabsPreference::SaveNone; + SavePrefabsPreference savePrefabsPreference = + saveAllPrefabsCheckBox->isChecked() ? SavePrefabsPreference::SaveAll : SavePrefabsPreference::SaveNone; switch (1 - prefabSaveSelection) { @@ -715,7 +717,7 @@ bool CCryEditDoc::SaveModified() gSettings.SetSavePrefabsPreference(savePrefabsPreference); gSettings.Save(); } - if (savePrefabsPreference == AzToolsFramework::SavePrefabsPreference::SaveAll) + if (savePrefabsPreference == SavePrefabsPreference::SaveAll) { prefabSystemComponentInterface->SaveAllDirtyTemplates(); } @@ -2263,8 +2265,9 @@ void CCryEditDoc::OnSliceInstantiationFailed(const AZ::Data::AssetId& sliceAsset AZStd::shared_ptr CCryEditDoc::ConstructSaveLevelDialog() { - auto prefabEditorEntityOwnershipInterface = AZ::Interface::Get(); - AzToolsFramework::SavePrefabsPreference savePrefabsPreference = prefabEditorEntityOwnershipInterface->GetSavePrefabsPreference(); + using namespace AzToolsFramework::Prefab; + auto prefabLoaderInterface = AZ::Interface::Get(); + SavePrefabsPreference savePrefabsPreference = prefabLoaderInterface->GetSavePrefabsPreference(); AZStd::shared_ptr saveModifiedMessageBox = AZStd::make_shared(AzToolsFramework::GetActiveWindow()); AZStd::weak_ptr saveModifiedMessageBoxWeakPtr(saveModifiedMessageBox); @@ -2294,7 +2297,7 @@ AZStd::shared_ptr CCryEditDoc::ConstructSaveLevelDialog() QCheckBox* saveAllPrefabsCheckbox = new QCheckBox("Save all unsaved prefabs in the level too."); AzQtComponents::CheckBox::applyToggleSwitchStyle(saveAllPrefabsCheckbox); saveAllPrefabsCheckbox->setObjectName("SaveAllPrefabsCheckbox"); - if (savePrefabsPreference == AzToolsFramework::SavePrefabsPreference::SaveAll) + if (savePrefabsPreference == SavePrefabsPreference::SaveAll) { saveAllPrefabsCheckbox->setCheckState(Qt::CheckState::Checked); } @@ -2302,9 +2305,8 @@ AZStd::shared_ptr CCryEditDoc::ConstructSaveLevelDialog() saveAllPrefabsCheckbox, &QCheckBox::stateChanged, [&savePrefabsPreference](int state) { - savePrefabsPreference = static_cast(state) == Qt::CheckState::Checked - ? AzToolsFramework::SavePrefabsPreference::SaveAll - : AzToolsFramework::SavePrefabsPreference::SaveNone; + savePrefabsPreference = static_cast(state) == Qt::CheckState::Checked ? SavePrefabsPreference::SaveAll + : SavePrefabsPreference::SaveNone; }); contentLayout->addWidget(saveAllPrefabsCheckbox); @@ -2319,7 +2321,7 @@ AZStd::shared_ptr CCryEditDoc::ConstructSaveLevelDialog() QCheckBox* saveAllPrefabsPreferenceCheckBox = new QCheckBox("Remember my preference."); saveAllPrefabsPreferenceCheckBox->setObjectName("SaveAllPrefabsPreferenceCheckBox"); AzQtComponents::CheckBox::applyToggleSwitchStyle(saveAllPrefabsPreferenceCheckBox); - if (savePrefabsPreference != AzToolsFramework::SavePrefabsPreference::Unspecified) + if (savePrefabsPreference != SavePrefabsPreference::Unspecified) { saveAllPrefabsPreferenceCheckBox->setCheckState(Qt::CheckState::Checked); } @@ -2348,23 +2350,25 @@ AZStd::shared_ptr CCryEditDoc::ConstructSaveLevelDialog() void CCryEditDoc::ExecuteSavePrefabsDialog() { - auto prefabSystemComponentInterface = AZ::Interface::Get(); - auto prefabEditorEntityOwnershipInterface = AZ::Interface::Get(); - AzToolsFramework::SavePrefabsPreference savePrefabsPreference = prefabEditorEntityOwnershipInterface->GetSavePrefabsPreference(); + using namespace AzToolsFramework::Prefab; - if (savePrefabsPreference == AzToolsFramework::SavePrefabsPreference::SaveAll) + auto prefabSystemComponentInterface = AZ::Interface::Get(); + auto prefabLoaderInterface = AZ::Interface::Get(); + SavePrefabsPreference savePrefabsPreference = prefabLoaderInterface->GetSavePrefabsPreference(); + + if (savePrefabsPreference == SavePrefabsPreference::SaveAll) { prefabSystemComponentInterface->SaveAllDirtyTemplates(); SetModifiedFlag(false); } - else if (savePrefabsPreference == AzToolsFramework::SavePrefabsPreference::SaveNone) + else if (savePrefabsPreference == SavePrefabsPreference::SaveNone) { if (prefabSystemComponentInterface->AreDirtyTemplatesPresent()) { SetModifiedFlag(true); } } - else // AzToolsFramework::SavePrefabsPreference::Unspecified + else // SavePrefabsPreference::Unspecified { QDialog saveModifiedMessageBox(AzToolsFramework::GetActiveWindow()); diff --git a/Code/Editor/EditorPreferencesPageGeneral.cpp b/Code/Editor/EditorPreferencesPageGeneral.cpp index 08703ba6cc..9e0d2962a9 100644 --- a/Code/Editor/EditorPreferencesPageGeneral.cpp +++ b/Code/Editor/EditorPreferencesPageGeneral.cpp @@ -101,9 +101,9 @@ void CEditorPreferencesPage_General::Reflect(AZ::SerializeContext& serialize) ->DataElement( AZ::Edit::UIHandlers::ComboBox, &PrefabSettings::m_savePrefabsPreference, "Save Prefabs Preference", "When saving levels, this option controls whether and how prefabs should be saved along with the level.") - ->EnumAttribute(AzToolsFramework::SavePrefabsPreference::Unspecified, "Unspecified") - ->EnumAttribute(AzToolsFramework::SavePrefabsPreference::SaveAll, "Save All") - ->EnumAttribute(AzToolsFramework::SavePrefabsPreference::SaveNone, "Save None"); + ->EnumAttribute(AzToolsFramework::Prefab::SavePrefabsPreference::Unspecified, "Unspecified") + ->EnumAttribute(AzToolsFramework::Prefab::SavePrefabsPreference::SaveAll, "Save All") + ->EnumAttribute(AzToolsFramework::Prefab::SavePrefabsPreference::SaveNone, "Save None"); editContext->Class("Messaging", "") ->DataElement(AZ::Edit::UIHandlers::CheckBox, &Messaging::m_showDashboard, "Show Welcome to Open 3D Engine at startup", "Show Welcome to Open 3D Engine at startup") diff --git a/Code/Editor/EditorPreferencesPageGeneral.h b/Code/Editor/EditorPreferencesPageGeneral.h index 29dcefcb80..b2d652ccba 100644 --- a/Code/Editor/EditorPreferencesPageGeneral.h +++ b/Code/Editor/EditorPreferencesPageGeneral.h @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include "Settings.h" @@ -61,7 +61,7 @@ private: struct PrefabSettings { AZ_TYPE_INFO(PrefabSettings, "{E297DAE3-3985-4BC2-8B43-45F3B1522F6B}"); - AzToolsFramework::SavePrefabsPreference m_savePrefabsPreference; + AzToolsFramework::Prefab::SavePrefabsPreference m_savePrefabsPreference; }; struct Messaging diff --git a/Code/Editor/Settings.cpp b/Code/Editor/Settings.cpp index 0197a45cfa..d20f132848 100644 --- a/Code/Editor/Settings.cpp +++ b/Code/Editor/Settings.cpp @@ -255,7 +255,7 @@ SEditorSettings::SEditorSettings() g_TemporaryLevelName = nullptr; sliceSettings.dynamicByDefault = false; - prefabSettings.savePrefabsPreference = AzToolsFramework::SavePrefabsPreference::Unspecified; + prefabSettings.savePrefabsPreference = AzToolsFramework::Prefab::SavePrefabsPreference::Unspecified; } void SEditorSettings::Connect() @@ -670,9 +670,9 @@ void SEditorSettings::Save() AzFramework::ApplicationRequests::Bus::Broadcast( &AzFramework::ApplicationRequests::SetPrefabSystemEnabled, prefabSystem); - AzToolsFramework::PrefabEditorEntityOwnershipInterface* prefabEditorEntityOwnershipService = - AZ::Interface::Get(); - prefabEditorEntityOwnershipService->SetSavePrefabsPreference(prefabSettings.savePrefabsPreference); + AzToolsFramework::Prefab::PrefabLoaderInterface* prefabLoaderInterface = + AZ::Interface::Get(); + prefabLoaderInterface->SetSavePrefabsPreference(prefabSettings.savePrefabsPreference); SaveSettingsRegistryFile(); } @@ -680,9 +680,9 @@ void SEditorSettings::Save() ////////////////////////////////////////////////////////////////////////// void SEditorSettings::Load() { - AzToolsFramework::PrefabEditorEntityOwnershipInterface* prefabEditorEntityOwnershipService = - AZ::Interface::Get(); - prefabSettings.savePrefabsPreference = prefabEditorEntityOwnershipService->GetSavePrefabsPreference(); + AzToolsFramework::Prefab::PrefabLoaderInterface* prefabLoaderInterface = + AZ::Interface::Get(); + prefabSettings.savePrefabsPreference = prefabLoaderInterface->GetSavePrefabsPreference(); // Load from Settings Registry AzFramework::ApplicationRequests::Bus::BroadcastResult( @@ -1082,7 +1082,7 @@ void SEditorSettings::ConvertPath(const AZStd::string_view sourcePath, AZStd::st AZStd::replace(category.begin(), category.end(), '|', '\\'); } -void SEditorSettings::SetSavePrefabsPreference(AzToolsFramework::SavePrefabsPreference savePrefabsPreference) +void SEditorSettings::SetSavePrefabsPreference(AzToolsFramework::Prefab::SavePrefabsPreference savePrefabsPreference) { prefabSettings.savePrefabsPreference = savePrefabsPreference; } diff --git a/Code/Editor/Settings.h b/Code/Editor/Settings.h index 61f89a8a05..dcc96dd2da 100644 --- a/Code/Editor/Settings.h +++ b/Code/Editor/Settings.h @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include @@ -233,7 +233,7 @@ struct SSliceSettings struct SPrefabSettings { - AzToolsFramework::SavePrefabsPreference savePrefabsPreference; + AzToolsFramework::Prefab::SavePrefabsPreference savePrefabsPreference; }; ////////////////////////////////////////////////////////////////////////// @@ -476,7 +476,7 @@ AZ_POP_DISABLE_DLL_EXPORT_BASECLASS_WARNING bool prefabSystem = true; ///< Toggle to enable/disable the Prefab system for level entities. - void SetSavePrefabsPreference(AzToolsFramework::SavePrefabsPreference savePrefabsPreference); + void SetSavePrefabsPreference(AzToolsFramework::Prefab::SavePrefabsPreference savePrefabsPreference); private: void SaveValue(const char* sSection, const char* sKey, int value); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipInterface.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipInterface.h index f26f80ca10..f9b8e679b5 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipInterface.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipInterface.h @@ -18,13 +18,6 @@ namespace AzToolsFramework { - enum class SavePrefabsPreference : AZ::s64 - { - Unspecified = 0, - SaveAll = 1, - SaveNone = -1 - }; - class PrefabEditorEntityOwnershipInterface { public: @@ -60,7 +53,5 @@ namespace AzToolsFramework virtual void StopPlayInEditor() = 0; virtual void CreateNewLevelPrefab(AZStd::string_view filename, const AZStd::string& templateFilename) = 0; - virtual SavePrefabsPreference GetSavePrefabsPreference() = 0; - virtual void SetSavePrefabsPreference(SavePrefabsPreference savePrefabsPreference) = 0; }; } diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp index bd8bf28de2..f336a9765c 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.cpp @@ -28,8 +28,6 @@ namespace AzToolsFramework { - static constexpr const char s_savePrefabsKey[] = "/O3DE/Preferences/SavePrefabs"; - PrefabEditorEntityOwnershipService::PrefabEditorEntityOwnershipService(const AzFramework::EntityContextId& entityContextId, AZ::SerializeContext* serializeContext) : m_entityContextId(entityContextId) @@ -610,24 +608,6 @@ namespace AzToolsFramework m_playInEditorData.m_isEnabled = false; } - SavePrefabsPreference PrefabEditorEntityOwnershipService::GetSavePrefabsPreference() - { - AZ::s64 savePrefabsPreference = static_cast(SavePrefabsPreference::Unspecified); - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Get(savePrefabsPreference, s_savePrefabsKey); - } - return static_cast(savePrefabsPreference); - } - - void PrefabEditorEntityOwnershipService::SetSavePrefabsPreference(SavePrefabsPreference savePrefabsPreference) - { - if (auto* registry = AZ::SettingsRegistry::Get()) - { - registry->Set(s_savePrefabsKey, static_cast(savePrefabsPreference)); - } - } - ////////////////////////////////////////////////////////////////////////// // Slice Buses implementation with Assert(false), this will exist only during Slice->Prefab // development to pinpoint and replace specific calls to Slice system diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.h index e94c955061..bf1199d6dd 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Entity/PrefabEditorEntityOwnershipService.h @@ -168,9 +168,6 @@ namespace AzToolsFramework void CreateNewLevelPrefab(AZStd::string_view filename, const AZStd::string& templateFilename) override; - SavePrefabsPreference GetSavePrefabsPreference() override; - void SetSavePrefabsPreference(SavePrefabsPreference savePrefabsPreference) override; - protected: AZ::SliceComponent::SliceInstanceAddress GetOwningSlice() override; diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp index 0a9c937832..d8c308528d 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.cpp @@ -25,6 +25,19 @@ namespace AzToolsFramework { namespace Prefab { + static constexpr const char s_savePrefabsKey[] = "/O3DE/Preferences/SavePrefabs"; + + void PrefabLoader::Reflect(AZ::ReflectContext* context) + { + if (auto* serializeContext = azrtti_cast(context)) + { + serializeContext->Enum() + ->Value("Unspecified", SavePrefabsPreference::Unspecified) + ->Value("SaveAll", SavePrefabsPreference::SaveAll) + ->Value("SaveNone", SavePrefabsPreference::SaveNone); + } + } + void PrefabLoader::RegisterPrefabLoaderInterface() { m_prefabSystemComponentInterface = AZ::Interface::Get(); @@ -656,6 +669,24 @@ namespace AzToolsFramework return finalPath; } + SavePrefabsPreference PrefabLoader::GetSavePrefabsPreference() + { + SavePrefabsPreference savePrefabsPreference = SavePrefabsPreference::Unspecified; + if (auto* registry = AZ::SettingsRegistry::Get()) + { + registry->GetObject(savePrefabsPreference, s_savePrefabsKey); + } + return static_cast(savePrefabsPreference); + } + + void PrefabLoader::SetSavePrefabsPreference(SavePrefabsPreference savePrefabsPreference) + { + if (auto* registry = AZ::SettingsRegistry::Get()) + { + registry->SetObject(s_savePrefabsKey, savePrefabsPreference); + } + } + AZ::IO::Path PrefabLoaderInterface::GeneratePath() { return AZStd::string::format("Prefab_%s", AZ::Entity::MakeId().ToString().c_str()); diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.h index 007933c021..e97eb694c2 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoader.h @@ -39,6 +39,8 @@ namespace AzToolsFramework AZ_CLASS_ALLOCATOR(PrefabLoader, AZ::SystemAllocator, 0); AZ_RTTI(PrefabLoader, "{A302B072-4DC4-4B7E-9188-226F56A3429C8}", PrefabLoaderInterface); + static void Reflect(AZ::ReflectContext* context); + ////////////////////////////////////////////////////////////////////////// // PrefabLoaderInterface interface implementation @@ -108,6 +110,9 @@ namespace AzToolsFramework //! Returns if the path is a valid path for a prefab static bool IsValidPrefabPath(AZ::IO::PathView path); + SavePrefabsPreference GetSavePrefabsPreference() override; + void SetSavePrefabsPreference(SavePrefabsPreference savePrefabsPreference) override; + private: /** * Copies the template dom provided and manipulates it into the proper format to be saved to disk. diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h index 3c60bea18c..938ad00809 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabLoaderInterface.h @@ -17,6 +17,13 @@ namespace AzToolsFramework { namespace Prefab { + enum class SavePrefabsPreference : AZ::u8 + { + Unspecified = 0, + SaveAll = 1, + SaveNone = 2 + }; + /*! * PrefabLoaderInterface * Interface for saving/loading Prefab files. @@ -84,6 +91,9 @@ namespace AzToolsFramework //! The path will always use the '/' separator. virtual AZ::IO::Path GenerateRelativePath(AZ::IO::PathView path) = 0; + virtual SavePrefabsPreference GetSavePrefabsPreference() = 0; + virtual void SetSavePrefabsPreference(SavePrefabsPreference savePrefabsPreference) = 0; + protected: // Generates a new path @@ -93,3 +103,8 @@ namespace AzToolsFramework } // namespace Prefab } // namespace AzToolsFramework +namespace AZ +{ + AZ_TYPE_INFO_SPECIALIZE(AzToolsFramework::Prefab::SavePrefabsPreference, "{7E61EA82-4DE4-4A3F-945F-C8FEDC1114B5}"); +} + diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp index c6f91a422a..928158dae0 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Prefab/PrefabSystemComponent.cpp @@ -57,6 +57,7 @@ namespace AzToolsFramework AzToolsFramework::Prefab::PrefabConversionUtils::PrefabCatchmentProcessor::Reflect(context); AzToolsFramework::Prefab::PrefabConversionUtils::EditorInfoRemover::Reflect(context); PrefabPublicRequestHandler::Reflect(context); + PrefabLoader::Reflect(context); AZ::SerializeContext* serialize = azrtti_cast(context); if (serialize)