From 504420483925d67cf380715f14588eebc8492151 Mon Sep 17 00:00:00 2001 From: chcurran <82187351+carlitosan@users.noreply.github.com> Date: Fri, 13 Aug 2021 21:53:20 -0700 Subject: [PATCH] Move JsonUtils.h for support of SC serialization Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com> --- .../AtomCore/AtomCore/atomcore_files.cmake | 2 - .../Tests/JsonSerializationUtilsTests.cpp | 2 +- .../Serialization/Json/JsonUtils.cpp | 7 +- .../Serialization/Json/JsonUtils.h | 2 + .../aztoolsframework_files.cmake | 2 + .../BuilderSettings/BuilderSettingManager.cpp | 2 +- .../Code/Source/Editor/AtomShaderConfig.cpp | 2 +- .../Code/Source/Editor/AzslCompiler.cpp | 2 +- .../Editor/CommonFiles/GlobalBuildOptions.cpp | 2 +- .../Editor/CommonFiles/Preprocessor.cpp | 2 +- .../Editor/PrecompiledShaderBuilder.cpp | 2 +- .../Code/Source/Editor/ShaderAssetBuilder.cpp | 2 +- .../Source/Editor/ShaderBuilderUtility.cpp | 2 +- .../Editor/ShaderVariantAssetBuilder.cpp | 2 +- Gems/Atom/Feature/Common/Code/CMakeLists.txt | 4 + .../Source/FrameCaptureSystemComponent.cpp | 2 +- .../ProfilingCaptureSystemComponent.cpp | 2 +- Gems/Atom/RHI/Code/Source/RHI.Edit/Utils.cpp | 2 +- Gems/Atom/RPI/Code/CMakeLists.txt | 3 + .../Include/Atom/RPI.Edit/Common/JsonUtils.h | 2 +- .../RPI.Builders/Common/AnyAssetBuilder.cpp | 2 +- .../RPI.Builders/Material/MaterialBuilder.cpp | 2 +- .../Source/RPI.Builders/Pass/PassBuilder.cpp | 2 +- .../ResourcePool/ResourcePoolBuilder.cpp | 2 +- .../MaterialFunctorSourceDataSerializer.cpp | 2 +- .../MaterialPropertyValueSerializer.cpp | 2 +- .../RPI.Edit/Material/MaterialSourceData.cpp | 2 +- .../Material/MaterialSourceDataSerializer.cpp | 2 +- .../RPI.Edit/Material/MaterialUtils.cpp | 2 +- .../RPI.Public/Pass/AttachmentReadback.cpp | 2 +- .../Source/RPI.Public/Pass/PassSystem.cpp | 2 +- .../Shader/Metrics/ShaderMetrics.cpp | 2 +- .../Shader/Metrics/ShaderMetricsSystem.cpp | 2 +- .../Tests.Builders/AnyAssetBuilderTest.cpp | 2 +- .../Code/Tests.Builders/PassBuilderTest.cpp | 2 +- .../ResourcePoolBuilderTest.cpp | 2 +- .../RPI/Code/Tests/Common/JsonTestUtils.h | 2 +- .../Tests/Material/MaterialFunctorTests.cpp | 2 +- .../MaterialPropertySerializerTests.cpp | 2 +- .../Material/MaterialTypeSourceDataTests.cpp | 2 +- .../Viewport/MaterialViewportComponent.cpp | 2 +- ...ssetCollectionAsyncLoaderTestComponent.cpp | 2 +- .../Assets/ScriptCanvasAssetHandler.cpp | 79 +++++++++++-------- 43 files changed, 96 insertions(+), 75 deletions(-) rename Code/Framework/{AtomCore/AtomCore => AzToolsFramework/AzToolsFramework}/Serialization/Json/JsonUtils.cpp (99%) rename Code/Framework/{AtomCore/AtomCore => AzToolsFramework/AzToolsFramework}/Serialization/Json/JsonUtils.h (99%) diff --git a/Code/Framework/AtomCore/AtomCore/atomcore_files.cmake b/Code/Framework/AtomCore/AtomCore/atomcore_files.cmake index bcfbfb2764..c90263468f 100644 --- a/Code/Framework/AtomCore/AtomCore/atomcore_files.cmake +++ b/Code/Framework/AtomCore/AtomCore/atomcore_files.cmake @@ -13,8 +13,6 @@ set(FILES Instance/InstanceData.h Instance/InstanceData.cpp Instance/InstanceDatabase.h - Serialization/Json/JsonUtils.h - Serialization/Json/JsonUtils.cpp std/containers/array_view.h std/containers/fixed_vector_set.h std/containers/lru_cache.h diff --git a/Code/Framework/AtomCore/Tests/JsonSerializationUtilsTests.cpp b/Code/Framework/AtomCore/Tests/JsonSerializationUtilsTests.cpp index 77bcb0c08d..79e0bf86ee 100644 --- a/Code/Framework/AtomCore/Tests/JsonSerializationUtilsTests.cpp +++ b/Code/Framework/AtomCore/Tests/JsonSerializationUtilsTests.cpp @@ -13,7 +13,7 @@ #include -#include +#include namespace UnitTest { diff --git a/Code/Framework/AtomCore/AtomCore/Serialization/Json/JsonUtils.cpp b/Code/Framework/AzToolsFramework/AzToolsFramework/Serialization/Json/JsonUtils.cpp similarity index 99% rename from Code/Framework/AtomCore/AtomCore/Serialization/Json/JsonUtils.cpp rename to Code/Framework/AzToolsFramework/AzToolsFramework/Serialization/Json/JsonUtils.cpp index 1d3a9674a0..89cf667958 100644 --- a/Code/Framework/AtomCore/AtomCore/Serialization/Json/JsonUtils.cpp +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Serialization/Json/JsonUtils.cpp @@ -6,7 +6,6 @@ * */ -#include #include #include #include @@ -23,6 +22,8 @@ #include #include +#include "JsonUtils.h" + namespace AZ { namespace JsonSerializationUtils @@ -343,9 +344,9 @@ namespace AZ { return AZ::Failure(deserializeErrors); } + return AZ::Success(); - } - + } AZ::Outcome LoadAnyObjectFromStream(IO::GenericStream& stream, const JsonDeserializerSettings* settings) { diff --git a/Code/Framework/AtomCore/AtomCore/Serialization/Json/JsonUtils.h b/Code/Framework/AzToolsFramework/AzToolsFramework/Serialization/Json/JsonUtils.h similarity index 99% rename from Code/Framework/AtomCore/AtomCore/Serialization/Json/JsonUtils.h rename to Code/Framework/AzToolsFramework/AzToolsFramework/Serialization/Json/JsonUtils.h index c7777feec0..62020d81d0 100644 --- a/Code/Framework/AtomCore/AtomCore/Serialization/Json/JsonUtils.h +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/Serialization/Json/JsonUtils.h @@ -15,6 +15,8 @@ #include #include +// hello? + namespace AZ { namespace IO diff --git a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake index 14c5f34f90..0c49da841f 100644 --- a/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake +++ b/Code/Framework/AzToolsFramework/AzToolsFramework/aztoolsframework_files.cmake @@ -205,6 +205,8 @@ set(FILES PropertyTreeEditor/PropertyTreeEditorComponent.h Render/EditorIntersectorComponent.cpp Render/EditorIntersectorComponent.h + Serialization/Json/JsonUtils.h + Serialization/Json/JsonUtils.cpp Slice/SliceDataFlagsCommand.h Slice/SliceDataFlagsCommand.cpp Slice/SliceUtilities.h diff --git a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/BuilderSettings/BuilderSettingManager.cpp b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/BuilderSettings/BuilderSettingManager.cpp index 46b684493b..764a19d549 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/BuilderSettings/BuilderSettingManager.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/BuilderSettings/BuilderSettingManager.cpp @@ -37,7 +37,7 @@ #include #include -#include +#include namespace ImageProcessingAtom { diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AtomShaderConfig.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/AtomShaderConfig.cpp index fcb486ec32..b299108518 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AtomShaderConfig.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/AtomShaderConfig.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace AZ diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp index cc42fac422..397d47ef21 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/AzslCompiler.cpp @@ -19,7 +19,7 @@ #include -#include +#include #include #include // [GFX TODO] Remove when [ATOM-15472] diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/GlobalBuildOptions.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/GlobalBuildOptions.cpp index 66b4d2e833..1b3b7c595d 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/GlobalBuildOptions.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/GlobalBuildOptions.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include namespace AZ { diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/Preprocessor.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/Preprocessor.cpp index 945f9734ca..adec465a9f 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/Preprocessor.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/CommonFiles/Preprocessor.cpp @@ -29,7 +29,7 @@ #include #include -#include +#include #include diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp index 5d712a4a8a..6d876c0ad4 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/PrecompiledShaderBuilder.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp index b1a3de2794..d3fa043fa2 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderAssetBuilder.cpp @@ -24,7 +24,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp index d7c3de48c0..df0d9b10a2 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderBuilderUtility.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp index 1da4623774..8bbae7502b 100644 --- a/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp +++ b/Gems/Atom/Asset/Shader/Code/Source/Editor/ShaderVariantAssetBuilder.cpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/Feature/Common/Code/CMakeLists.txt b/Gems/Atom/Feature/Common/Code/CMakeLists.txt index 8ed02f2c2f..8a9fe3b07c 100644 --- a/Gems/Atom/Feature/Common/Code/CMakeLists.txt +++ b/Gems/Atom/Feature/Common/Code/CMakeLists.txt @@ -34,6 +34,7 @@ ly_add_target( PRIVATE AZ::AzCore AZ::AzFramework + AZ::AzToolsFramework PUBLIC Gem::Atom_RPI.Public Gem::Atom_Utils.Static @@ -62,6 +63,7 @@ ly_add_target( PRIVATE AZ::AzCore AZ::AzFramework + AZ::AzToolsFramework PUBLIC Gem::Atom_RPI.Public Gem::Atom_Utils.Static @@ -85,6 +87,7 @@ ly_add_target( PRIVATE AZ::AzCore AZ::AzFramework + AZ::AzToolsFramework Gem::Atom_Feature_Common.Static Gem::Atom_Feature_Common.Public 3rdParty::lux_core @@ -161,6 +164,7 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED) BUILD_DEPENDENCIES PRIVATE AZ::AzFramework + AZ::AzToolsFramework AZ::AzTest Gem::Atom_Feature_Common.Static Gem::Atom_Feature_Common.Public diff --git a/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp index 4b1a6ec7f6..4eb5ab0a76 100644 --- a/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/FrameCaptureSystemComponent.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp index add6d0e098..da194d4d4e 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/RHI/Code/Source/RHI.Edit/Utils.cpp b/Gems/Atom/RHI/Code/Source/RHI.Edit/Utils.cpp index 8c64f1611f..f0fbf40a14 100644 --- a/Gems/Atom/RHI/Code/Source/RHI.Edit/Utils.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI.Edit/Utils.cpp @@ -8,7 +8,7 @@ #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/CMakeLists.txt b/Gems/Atom/RPI/Code/CMakeLists.txt index 521178be20..54e74b756b 100644 --- a/Gems/Atom/RPI/Code/CMakeLists.txt +++ b/Gems/Atom/RPI/Code/CMakeLists.txt @@ -40,6 +40,7 @@ ly_add_target( AZ::AtomCore AZ::AzCore AZ::AzFramework + AZ::AzToolsFramework PUBLIC Gem::Atom_RHI.Public ) @@ -62,6 +63,7 @@ ly_add_target( AZ::AtomCore AZ::AzCore AZ::AzFramework + AZ::AzToolsFramework Gem::Atom_RPI.Public Gem::Atom_RHI.Public Gem::Atom_RHI.Reflect @@ -107,6 +109,7 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS) AZ::AtomCore AZ::AzCore AZ::AzFramework + AZ::AzToolsFramework Gem::Atom_RPI.Public Gem::Atom_RHI.Public ) diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/JsonUtils.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/JsonUtils.h index 3e3fbec8fe..22baf5776a 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/JsonUtils.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Common/JsonUtils.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Common/AnyAssetBuilder.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Common/AnyAssetBuilder.cpp index 4074568fbe..031b928543 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Common/AnyAssetBuilder.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Common/AnyAssetBuilder.cpp @@ -19,7 +19,7 @@ #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp index d07f073d4f..70230cfffb 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp index 652130dea2..2949125fc1 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Pass/PassBuilder.cpp @@ -11,7 +11,7 @@ #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/ResourcePool/ResourcePoolBuilder.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/ResourcePool/ResourcePoolBuilder.cpp index 1dcab2679f..24a105a4f4 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/ResourcePool/ResourcePoolBuilder.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/ResourcePool/ResourcePoolBuilder.cpp @@ -16,7 +16,7 @@ #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialFunctorSourceDataSerializer.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialFunctorSourceDataSerializer.cpp index 3ba115f3e6..52b56f254a 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialFunctorSourceDataSerializer.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialFunctorSourceDataSerializer.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp index 708644ae20..3c702b84a0 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include namespace AZ { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp index 1fee57759c..8d799fe440 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceDataSerializer.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceDataSerializer.cpp index e65c65a39a..466fd79dd8 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceDataSerializer.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceDataSerializer.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp index 67c143c074..7fb9d3d70f 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp index 29a17dc9a8..15fadd894b 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/AttachmentReadback.cpp @@ -23,7 +23,7 @@ #include #include -#include +#include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp index d73521763f..6d470427b5 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Pass/PassSystem.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetrics.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetrics.cpp index 5df21f3964..7e5c268112 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetrics.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetrics.cpp @@ -6,7 +6,7 @@ * */ #include -#include +#include namespace AZ { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetricsSystem.cpp b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetricsSystem.cpp index d0d76e62de..47c8dedd8d 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetricsSystem.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Public/Shader/Metrics/ShaderMetricsSystem.cpp @@ -15,7 +15,7 @@ #include #include -#include +#include #include diff --git a/Gems/Atom/RPI/Code/Tests.Builders/AnyAssetBuilderTest.cpp b/Gems/Atom/RPI/Code/Tests.Builders/AnyAssetBuilderTest.cpp index fcec484fa9..33b4bc61fe 100644 --- a/Gems/Atom/RPI/Code/Tests.Builders/AnyAssetBuilderTest.cpp +++ b/Gems/Atom/RPI/Code/Tests.Builders/AnyAssetBuilderTest.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Tests.Builders/PassBuilderTest.cpp b/Gems/Atom/RPI/Code/Tests.Builders/PassBuilderTest.cpp index ad1df41824..993bd8ded2 100644 --- a/Gems/Atom/RPI/Code/Tests.Builders/PassBuilderTest.cpp +++ b/Gems/Atom/RPI/Code/Tests.Builders/PassBuilderTest.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include #include diff --git a/Gems/Atom/RPI/Code/Tests.Builders/ResourcePoolBuilderTest.cpp b/Gems/Atom/RPI/Code/Tests.Builders/ResourcePoolBuilderTest.cpp index d6107cda9e..2623cade02 100644 --- a/Gems/Atom/RPI/Code/Tests.Builders/ResourcePoolBuilderTest.cpp +++ b/Gems/Atom/RPI/Code/Tests.Builders/ResourcePoolBuilderTest.cpp @@ -8,7 +8,7 @@ #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Tests/Common/JsonTestUtils.h b/Gems/Atom/RPI/Code/Tests/Common/JsonTestUtils.h index 2c38090b43..3b66565f99 100644 --- a/Gems/Atom/RPI/Code/Tests/Common/JsonTestUtils.h +++ b/Gems/Atom/RPI/Code/Tests/Common/JsonTestUtils.h @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include namespace UnitTest diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp index cf64fd12f3..9b82f501d2 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialFunctorTests.cpp @@ -19,7 +19,7 @@ #include #include -//#include +//#include namespace UnitTest { using namespace AZ; diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialPropertySerializerTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialPropertySerializerTests.cpp index 759842cf96..fdd8edf5e5 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialPropertySerializerTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialPropertySerializerTests.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp index 44b59059ba..85beba6721 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialTypeSourceDataTests.cpp @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportComponent.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportComponent.cpp index d957ea327c..ec2f200ff2 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportComponent.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Viewport/MaterialViewportComponent.cpp @@ -25,7 +25,7 @@ #include #include -#include +#include #include #include diff --git a/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp b/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp index b51e3b0e29..f0a8e35699 100644 --- a/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp +++ b/Gems/AtomLyIntegration/AtomBridge/Code/Source/Editor/AssetCollectionAsyncLoaderTestComponent.cpp @@ -13,7 +13,7 @@ #include -#include +#include // Included so we can deduce the asset type from asset paths. #include diff --git a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHandler.cpp b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHandler.cpp index c355797f27..ee78a71772 100644 --- a/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHandler.cpp +++ b/Gems/ScriptCanvas/Code/Editor/Assets/ScriptCanvasAssetHandler.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -27,13 +28,6 @@ #include #include -// \todo move out and replace with JsonUtils.h when it can get moved -#include -#include -#include -#include - - namespace ScriptCanvasEditor { ScriptCanvasAssetHandler::ScriptCanvasAssetHandler(AZ::SerializeContext* context) @@ -79,23 +73,45 @@ namespace ScriptCanvasEditor } } - AZ::Data::AssetHandler::LoadResult ScriptCanvasAssetHandler::LoadAssetData( - const AZ::Data::Asset& asset, - AZStd::shared_ptr stream, - const AZ::Data::AssetFilterCB& assetLoadFilterCB) + AZ::Data::AssetHandler::LoadResult ScriptCanvasAssetHandler::LoadAssetData + ( const AZ::Data::Asset& assetTarget + , AZStd::shared_ptr streamSource + , const AZ::Data::AssetFilterCB& assetLoadFilterCB) { - auto* scriptCanvasAsset = asset.GetAs(); - AZ_Assert(scriptCanvasAsset, "This should be a ScriptCanvasAsset, as this is the only type we process!"); + namespace JSRU = AZ::JsonSerializationUtils; + using namespace ScriptCanvas; - // static_assert(false, "load the json here, and only if it failed, conditionally load the block below"); + auto* scriptCanvasAssetTarget = assetTarget.GetAs(); + AZ_Assert(scriptCanvasAssetTarget, "This should be a ScriptCanvasAsset, as this is the only type we process!"); - if (scriptCanvasAsset && m_serializeContext) + if (scriptCanvasAssetTarget && m_serializeContext && streamSource) { - stream->Seek(0U, AZ::IO::GenericStream::ST_SEEK_BEGIN); - // tolerate unknown classes in the editor. Let the asset processor warn about bad nodes... - bool loadSuccess = AZ::Utils::LoadObjectFromStreamInPlace(*stream, scriptCanvasAsset->GetScriptCanvasData(), m_serializeContext, AZ::ObjectStream::FilterDescriptor(assetLoadFilterCB, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); - return loadSuccess ? AZ::Data::AssetHandler::LoadResult::LoadComplete : AZ::Data::AssetHandler::LoadResult::Error; + AZ::JsonDeserializerSettings settings; + // more mapping stuff + settings.m_serializeContext = m_serializeContext; + streamSource->Seek(0U, AZ::IO::GenericStream::ST_SEEK_BEGIN); + // presume JSON serialization... + if (JSRU::LoadObjectFromStreamByType + ( scriptCanvasAssetTarget + , azrtti_typeid() + , *streamSource + , &settings).IsSuccess()) + { + return AZ::Data::AssetHandler::LoadResult::LoadComplete; + } + else + { + // ...if there is a failure, check if it is saved in the old format + streamSource->Seek(0U, AZ::IO::GenericStream::ST_SEEK_BEGIN); + // tolerate unknown classes in the editor. Let the asset processor warn about bad nodes... + bool loadSuccess = AZ::Utils::LoadObjectFromStreamInPlace(*streamSource, scriptCanvasAssetTarget->GetScriptCanvasData() + , m_serializeContext + , AZ::ObjectStream::FilterDescriptor(assetLoadFilterCB, AZ::ObjectStream::FILTERFLAG_IGNORE_UNKNOWN_CLASSES)); + + return loadSuccess ? AZ::Data::AssetHandler::LoadResult::LoadComplete : AZ::Data::AssetHandler::LoadResult::Error; + } } + return AZ::Data::AssetHandler::LoadResult::Error; } @@ -111,25 +127,20 @@ namespace ScriptCanvasEditor bool ScriptCanvasAssetHandler::SaveAssetData(const ScriptCanvasAsset* assetData, AZ::IO::GenericStream* stream, [[maybe_unused]] AZ::DataStream::StreamType streamType) { - namespace JSR = AZ::JsonSerializationResult; - - if (assetData && m_serializeContext) - { + namespace JSRU = AZ::JsonSerializationUtils; + using namespace ScriptCanvas; + + if (assetData && stream && m_serializeContext) + { AZ::JsonSerializerSettings settings; settings.m_keepDefaults = false; settings.m_serializeContext = m_serializeContext; - rapidjson::Document document; - - if (AZ::JsonSerialization::Store(document, document.GetAllocator(), assetData->GetScriptCanvasData(), settings).GetProcessing() != JSR::Processing::Halted) - { - // \todo replace with with exact function from JsonUtils.cpp once it is moved to AzToolsFramework - AZ::IO::RapidJSONStreamWriter jsonStreamWriter(stream); - rapidjson::PrettyWriter writer(jsonStreamWriter); - return document.Accept(writer); - } + return JSRU::SaveObjectToStream(&assetData->GetScriptCanvasData(), *stream, nullptr, &settings).IsSuccess(); + } + else + { + return false; } - - return false; } void ScriptCanvasAssetHandler::DestroyAsset(AZ::Data::AssetPtr ptr)