Browse Source

Merge pull request #269 from aws-lumberyard-dev/allisaurus/gitflow_230327_o3demps

Merge stabilization/2305 to development on 3/27/2023
allisaurus 2 năm trước cách đây
mục cha
commit
0696b5de55
39 tập tin đã thay đổi với 3908 bổ sung1965 xóa
  1. 2 2
      AssetBundling/SeedLists/GameSeedList.seed
  2. 1 1
      Gem/Code/Source/AutoGen/NetworkHealthComponent.AutoComponent.xml
  3. 72 0
      Gem/Code/Source/Components/AttachPlayerWeaponComponent.cpp
  4. 39 0
      Gem/Code/Source/Components/AttachPlayerWeaponComponent.h
  5. 61 0
      Gem/Code/Source/Components/Multiplayer/PlayerIdentityComponent.cpp
  6. 27 0
      Gem/Code/Source/Components/Multiplayer/PlayerIdentityComponent.h
  7. 1 11
      Gem/Code/Source/Components/NetworkPlayerMovementComponent.cpp
  8. 3 3
      Gem/Code/Source/Components/NetworkSimplePlayerCameraComponent.cpp
  9. 137 0
      Gem/Code/Source/Components/UI/UiStartMenuComponent.cpp
  10. 53 0
      Gem/Code/Source/Components/UI/UiStartMenuComponent.h
  11. 5 3
      Gem/Code/Source/GameState/GameStateMatchEnded.cpp
  12. 2 1
      Gem/Code/Source/GameState/GameStateMatchEnded.h
  13. 5 1
      Gem/Code/Source/MultiplayerSampleModule.cpp
  14. 2 2
      Gem/Code/Source/Weapons/BaseWeapon.cpp
  15. 2 0
      Gem/Code/multiplayersample_client_files.cmake
  16. 2 0
      Gem/Code/multiplayersample_files.cmake
  17. 2 2
      Gem/preview.png
  18. 27 1
      Levels/GameplayTest/GameplayTest.prefab
  19. 2 2
      PopcornFX/Particles/MalfunctionningShieldGenerator/FX_MalfunctionningShieldGenerator_Explosion.pkfx
  20. 48 119
      Prefabs/Player.prefab
  21. 12 0
      Registry/settings.multiplayersample_gamelauncher.setreg
  22. 12 0
      Registry/settings.multiplayersample_unifiedlauncher.setreg
  23. 16 0
      Registry/splash_screen.setreg
  24. 2 2
      Sounds/wwise/MultiplayerSample_SoundBank.bnk
  25. 1 1
      Sounds/wwise_project/Actor-Mixer Hierarchy/AMPS/Player.wwu
  26. 7 2
      Sounds/wwise_project/Actor-Mixer Hierarchy/AMPS/WPN.wwu
  27. 1 148
      Sounds/wwise_project/Actor-Mixer Hierarchy/Default Work Unit.wwu
  28. 1 129
      Sounds/wwise_project/Events/Default Work Unit.wwu
  29. 0 47
      UICanvases/Reticle.uicanvas
  30. 0 0
      UICanvases/SplashScreen/SplashPanel.png
  31. 0 0
      UICanvases/SplashScreen/SplashScreen.jpg
  32. 61 4
      UICanvases/SplashScreen/SplashScreen.jpg.assetinfo
  33. 467 399
      UICanvases/StartMenu.uicanvas
  34. 2 2
      preview.png
  35. 350 378
      scriptcanvas/DamagePlayer.scriptcanvas
  36. 388 119
      scriptcanvas/ReticleEffects.scriptcanvas
  37. 1573 0
      scriptcanvas/ShieldGeneratorExplosionEffects.scriptcanvas
  38. 297 586
      scriptcanvas/ShieldGeneratorRoundEffects.scriptcanvas
  39. 225 0
      scripts/ShieldGenerator.scriptevents

+ 2 - 2
AssetBundling/SeedLists/GameSeedList.seed

@@ -90,11 +90,11 @@
 		</Class>
 		<Class name="SeedInfo" field="element" version="2" type="{FACC3682-2ACA-4AA4-B85A-07AD276D18A0}">
 			<Class name="AssetId" field="assetId" version="1" type="{652ED536-3402-439B-AEBE-4A5DBC554085}">
-				<Class name="AZ::Uuid" field="guid" value="{2DFA70A6-EA32-5AF3-8FEE-187A6F961EFF}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+				<Class name="AZ::Uuid" field="guid" value="{AB5B0F22-07A0-5D7D-A9AC-B3225C10552B}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
 				<Class name="unsigned int" field="subId" value="1000" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
 			</Class>
 			<Class name="unsigned int" field="platformFlags" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
-			<Class name="AZStd::string" field="pathHint" value="uicanvases/newroundstarting/newmatchstartingin.png.streamingimage" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+			<Class name="AZStd::string" field="pathHint" value="uicanvases/splashscreen/splashscreen.jpg.streamingimage" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
 		</Class>
 	</Class>
 </ObjectStream>

+ 1 - 1
Gem/Code/Source/AutoGen/NetworkHealthComponent.AutoComponent.xml

@@ -8,7 +8,7 @@
     OverrideInclude="Source/Components/NetworkHealthComponent.h"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 
-    <NetworkProperty Type="float" Name="Health" Init="100.0f" ReplicateFrom="Authority" ReplicateTo="Client" Container="Object" IsPublic="true" IsRewindable="true" IsPredictable="false" ExposeToEditor="true" ExposeToScript="false" GenerateEventBindings="true" Description="The amount of health" />
+    <NetworkProperty Type="float" Name="Health" Init="100.0f" ReplicateFrom="Authority" ReplicateTo="Client" Container="Object" IsPublic="true" IsRewindable="true" IsPredictable="false" ExposeToEditor="true" ExposeToScript="true" GenerateEventBindings="true" Description="The amount of health" />
 
     <ArchetypeProperty Type="float" Name="MaxHealth" Init="100.0f" ExposeToEditor="true" Description="Maximum health" />
 

+ 72 - 0
Gem/Code/Source/Components/AttachPlayerWeaponComponent.cpp

@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#include <AzCore/Math/Transform.h>
+#include <AzCore/Serialization/EditContext.h>
+#include <AzCore/std/smart_ptr/make_shared.h>
+#include <AzFramework/Spawnable/SpawnableEntitiesInterface.h>
+#include <Components/AttachPlayerWeaponComponent.h>
+#include <LmbrCentral/Animation/AttachmentComponentBus.h>
+
+namespace MultiplayerSample
+{
+    void AttachPlayerWeaponComponent::Reflect(AZ::ReflectContext* context)
+    {
+        if (AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
+        {
+            serializeContext->Class<AttachPlayerWeaponComponent, AZ::Component>()
+                ->Field( "WeaponAsset", &AttachPlayerWeaponComponent::m_weaponAsset)
+                ->Field( "Bone To Attach To", &AttachPlayerWeaponComponent::m_boneToAttachTo)
+                ->Field( "Transform", &AttachPlayerWeaponComponent::m_attachmentTransform)
+                ->Version(1);
+
+            if (AZ::EditContext* editContext = serializeContext->GetEditContext())
+            {
+                using namespace AZ::Edit;
+                editContext->Class<AttachPlayerWeaponComponent>("AttachPlayerWeaponComponent", 
+                        "Spawns a non-network weapon prefab and attaches it to the player entity.")
+                    ->ClassElement(ClassElements::EditorData, "")
+                    ->Attribute(AZ::Edit::Attributes::Category, "MultiplayerSample")
+                    ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("Game"))
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &AttachPlayerWeaponComponent::m_weaponAsset, "WeaponAsset", 
+                        "non-networked weapon prefab to spawn")
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &AttachPlayerWeaponComponent::m_boneToAttachTo, "Bone To Attach To", 
+                        "The bone on the player actor's skeleton to attach the weapon to")
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &AttachPlayerWeaponComponent::m_attachmentTransform, "Transform", 
+                        "Relative transform of the attachment to the bone")
+                ;
+            }
+        }
+    }
+
+    void AttachPlayerWeaponComponent::Activate()
+    {
+        m_weaponTicket = AZStd::make_shared<AzFramework::EntitySpawnTicket>(m_weaponAsset);
+        
+        auto onSpawnedCallback = [this]([[maybe_unused]] AzFramework::EntitySpawnTicket::Id ticketId, AzFramework::SpawnableConstEntityContainerView view)
+        {
+            for (const AZ::Entity* entity : view)
+            {
+                LmbrCentral::AttachmentComponentRequestBus::Event(entity->GetId(),
+                    &LmbrCentral::AttachmentComponentRequestBus::Events::Attach, GetEntityId(), m_boneToAttachTo.c_str(), m_attachmentTransform);
+            }
+        };
+
+        AZ_Assert(m_weaponTicket->IsValid(), "Unable to instantiate weapon's spawnable asset");
+        if (m_weaponTicket->IsValid())
+        {
+            AzFramework::SpawnAllEntitiesOptionalArgs optionalArgs;
+            optionalArgs.m_completionCallback = AZStd::move(onSpawnedCallback);
+            AzFramework::SpawnableEntitiesInterface::Get()->SpawnAllEntities(*m_weaponTicket, AZStd::move(optionalArgs));
+        }
+    }
+
+    void AttachPlayerWeaponComponent::Deactivate()
+    {
+        m_weaponTicket.reset();
+    }
+}

+ 39 - 0
Gem/Code/Source/Components/AttachPlayerWeaponComponent.h

@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#pragma once
+
+#include <AzCore/Component/Component.h>
+#include <AzCore/Math/Transform.h>
+#include <AzFramework/Spawnable/Spawnable.h>
+#include <AzFramework/Spawnable/SpawnableEntitiesInterface.h>
+
+namespace MultiplayerSample
+{
+    //! @class AttachPlayerWeaponComponent
+    //! @brief Spawns a non-network gun prefab and attaches it to the player entity.
+    class AttachPlayerWeaponComponent final
+        : public AZ::Component
+    {
+    public:
+        AZ_COMPONENT(MultiplayerSample::AttachPlayerWeaponComponent, "{7ebfc648-eae7-487f-b707-308ca93aeda7}");
+
+        static void Reflect(AZ::ReflectContext* context);
+
+        //! AZ::Component overrides.
+        //! @{
+        void Activate() override;
+        void Deactivate() override;
+        //! }@
+
+    private:
+        AZStd::shared_ptr<AzFramework::EntitySpawnTicket> m_weaponTicket;
+        AZ::Data::Asset<AzFramework::Spawnable> m_weaponAsset;
+        AZStd::string m_boneToAttachTo;
+        AZ::Transform m_attachmentTransform;
+    };
+}

+ 61 - 0
Gem/Code/Source/Components/Multiplayer/PlayerIdentityComponent.cpp

@@ -10,6 +10,12 @@
 #include <Source/Components/Multiplayer/PlayerCoinCollectorComponent.h>
 #include <Source/Components/Multiplayer/PlayerIdentityComponent.h>
 
+#if AZ_TRAIT_CLIENT
+    #include <Atom/RPI.Public/ViewportContextBus.h>
+    #include <AzFramework/Viewport/ViewportScreen.h>
+    #include <AzCore/Component/TransformBus.h>
+#endif
+
 namespace MultiplayerSample
 {
     void PlayerIdentityComponent::Reflect(AZ::ReflectContext* context)
@@ -25,11 +31,66 @@ namespace MultiplayerSample
 
     void PlayerIdentityComponent::OnActivate([[maybe_unused]] Multiplayer::EntityIsMigrating entityIsMigrating)
     {
+        #if AZ_TRAIT_CLIENT
+            m_viewport = AZ::RPI::ViewportContextRequests::Get()->GetDefaultViewportContext();
+            if (!m_viewport)
+            {
+                AZ_Assert(false, "NetworkDebugPlayerIdComponent failed to find the a rendering viewport. Debug rendering will be disabled.");
+                return;
+            }
+
+            const auto fontQueryInterface = AZ::Interface<AzFramework::FontQueryInterface>::Get();
+            if (!fontQueryInterface)
+            {
+                AZ_Assert(false, "NetworkDebugPlayerIdComponent failed to find the FontQueryInterface. Debug rendering will be disabled.");
+                return;
+            }
+
+            m_fontDrawInterface = fontQueryInterface->GetDefaultFontDrawInterface();
+            if (!m_fontDrawInterface)
+            {
+                AZ_Assert(false, "NetworkDebugPlayerIdComponent failed to find the FontDrawInterface. Debug rendering will be disabled.");
+                return;
+            }
+
+            m_drawParams.m_drawViewportId = m_viewport->GetId();
+            m_drawParams.m_scale = AZ::Vector2(FontScale);
+            m_drawParams.m_color = AZ::Colors::Wheat;
+
+            AZ::TickBus::Handler::BusConnect();
+        #endif
     }
 
     void PlayerIdentityComponent::OnDeactivate([[maybe_unused]] Multiplayer::EntityIsMigrating entityIsMigrating)
     {
+        #if AZ_TRAIT_CLIENT
+        #endif
+    }
+
+#if AZ_TRAIT_CLIENT
+    void PlayerIdentityComponent::OnTick([[maybe_unused]] float deltaTime, [[maybe_unused]] AZ::ScriptTimePoint time)
+    {
+        // Don't render others players' on-screen debug text if the player is behind the camera
+        const AZ::Vector3 renderWorldSpace = GetEntity()->GetTransform()->GetWorldTranslation();
+        if (!IsNetEntityRoleAutonomous())
+        {
+            AZ::Vector3 cameraForward = m_viewport->GetCameraTransform().GetBasisY();
+            AZ::Vector3 cameraToPlayer = renderWorldSpace - m_viewport->GetCameraTransform().GetTranslation();
+            if (cameraForward.Dot(cameraToPlayer) < 0.0f)
+            {
+                return;
+            }
+        }
+
+        const AzFramework::WindowSize windowSize = m_viewport->GetViewportSize();
+        AzFramework::ScreenPoint renderScreenpoint = AzFramework::WorldToScreen(
+            renderWorldSpace, m_viewport->GetCameraViewMatrixAsMatrix3x4(), m_viewport->GetCameraProjectionMatrix(), AzFramework::ScreenSize(windowSize.m_width, windowSize.m_height));
+        m_drawParams.m_hAlign = AzFramework::TextHorizontalAlignment::Center;
+        m_drawParams.m_position = AZ::Vector3(aznumeric_cast<float>(renderScreenpoint.m_x), aznumeric_cast<float>(renderScreenpoint.m_y), 0.f);
+
+        m_fontDrawInterface->DrawScreenAlignedText2d(m_drawParams, GetPlayerName().c_str());
     }
+#endif
 
     PlayerIdentityComponentController::PlayerIdentityComponentController(PlayerIdentityComponent& parent)
         : PlayerIdentityComponentControllerBase(parent)

+ 27 - 0
Gem/Code/Source/Components/Multiplayer/PlayerIdentityComponent.h

@@ -10,11 +10,24 @@
 #include <MultiplayerSampleTypes.h>
 #include <PlayerIdentityBus.h>
 #include <Source/AutoGen/PlayerIdentityComponent.AutoComponent.h>
+#include <Atom/RPI.Public/ViewportContext.h>
+#include <AzCore/Component/TickBus.h>
+#include <AzFramework/Font/FontInterface.h>
+
+#if AZ_TRAIT_CLIENT
+    namespace AZ::RPI
+    {
+        class ViewportContext;
+    }
+#endif
 
 namespace MultiplayerSample
 {
     class PlayerIdentityComponent
         : public PlayerIdentityComponentBase
+        #if AZ_TRAIT_CLIENT
+            , AZ::TickBus::Handler
+        #endif
     {
     public:
         AZ_MULTIPLAYER_COMPONENT(MultiplayerSample::PlayerIdentityComponent, s_playerIdentityComponentConcreteUuid, MultiplayerSample::PlayerIdentityComponentBase);
@@ -23,6 +36,20 @@ namespace MultiplayerSample
 
         void OnActivate(Multiplayer::EntityIsMigrating entityIsMigrating) override;
         void OnDeactivate(Multiplayer::EntityIsMigrating entityIsMigrating) override;
+
+
+    private:
+        #if AZ_TRAIT_CLIENT
+            static constexpr float FontScale = 0.7f;
+
+            // AZ::TickBus::Handler overrides...
+            void OnTick(float deltaTime, AZ::ScriptTimePoint time) override;
+
+            // Cache properties required for font rendering...
+            AZ::RPI::ViewportContextPtr m_viewport;
+            AzFramework::FontDrawInterface* m_fontDrawInterface = nullptr;
+            AzFramework::TextDrawParameters m_drawParams;
+        #endif
     };
 
 

+ 1 - 11
Gem/Code/Source/Components/NetworkPlayerMovementComponent.cpp

@@ -164,8 +164,7 @@ namespace MultiplayerSample
             playerInput->m_forwardAxis = StickAxis(m_forwardWeight - m_backwardWeight);
             playerInput->m_strafeAxis = StickAxis(m_leftWeight - m_rightWeight);
 
-            // Strafe input
-            playerInput->m_sprint = m_sprinting;
+            playerInput->m_sprint = m_sprinting && (playerInput->m_forwardAxis > 0.0f); // Only sprint if we're moving forward
             playerInput->m_jump = m_jumping;
             playerInput->m_crouch = m_crouching;
         }
@@ -200,15 +199,6 @@ namespace MultiplayerSample
         NetworkPlayerMovementComponentNetworkInput* playerInput = input.FindComponentInput<NetworkPlayerMovementComponentNetworkInput>();
         if (playerInput->m_resetCount != GetNetworkTransformComponentController()->GetResetCount())
         {
-            // TEMPORARY LOGGING TO HELP DIAGNOSE MOVEMENT DISCONNECTIONS.
-            // Specifically, sometimes a player will still be able to move around locally, but on the server and other connected clients,
-            // the player has stopped moving. They can no longer interact with the environment, but they are still connected and can see
-            // the other players moving around, still receive damage notifications,e tc.
-            // This logging will get removed after the root cause has been found and resolved.
-            AZLOG_INFO("netEntityId=%u: Different reset count, discarding player input. Input / local reset=%u / %u, clientInputId=%u, hostFrame=%u",
-                GetNetEntityId(), playerInput->m_resetCount, GetNetworkTransformComponentController()->GetResetCount(), 
-                input.GetClientInputId(), input.GetHostFrameId()
-            );
             return;
         }
 

+ 3 - 3
Gem/Code/Source/Components/NetworkSimplePlayerCameraComponent.cpp

@@ -24,9 +24,9 @@ namespace MultiplayerSample
     AZ_CVAR(AZ::Vector3, cl_cameraColliderSize, AZ::Vector3(0.5f, 0.1f, 0.3f), nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "Temporary collider size for player camera");
     AZ_CVAR(bool, cl_drawCameraCollider, false, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "Draw the camera collider");
     AZ_CVAR(bool, cl_cameraBlendingEnabled, false, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "When active, blends the camera aim angles.");
-    AZ_CVAR(float, cl_cameraFovSprintModifier, 15.0f, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "Controls how much to adjust camera FOV when sprinting");
-    AZ_CVAR(float, cl_cameraZoomSprintModifier, -0.5f, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "Controls how much to adjust camera zoom when sprinting");
-    AZ_CVAR(float, cl_cameraSprintBlendRate, 0.125f, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "The rate at which to blend into sprint camera");
+    AZ_CVAR(float, cl_cameraFovSprintModifier, 10.0f, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "Controls how much to adjust camera FOV when sprinting");
+    AZ_CVAR(float, cl_cameraZoomSprintModifier, -0.3f, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "Controls how much to adjust camera zoom when sprinting");
+    AZ_CVAR(float, cl_cameraSprintBlendRate, 0.25f, nullptr, AZ::ConsoleFunctorFlags::DontReplicate, "The rate at which to blend into sprint camera");
 
     NetworkSimplePlayerCameraComponentController::NetworkSimplePlayerCameraComponentController(NetworkSimplePlayerCameraComponent& parent)
         : NetworkSimplePlayerCameraComponentControllerBase(parent)

+ 137 - 0
Gem/Code/Source/Components/UI/UiStartMenuComponent.cpp

@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#include <Source/Components/UI/UiStartMenuComponent.h>
+
+#include <AzCore/Serialization/SerializeContext.h>
+#include <AzCore/Serialization/EditContext.h>
+
+#include <LyShine/Bus/UiButtonBus.h>
+#include <LyShine/Bus/UiCursorBus.h>
+#include <LyShine/Bus/UiElementBus.h>
+#include <LyShine/Bus/UiTextInputBus.h>
+
+namespace MultiplayerSample
+{
+    void UiStartMenuComponent::Reflect(AZ::ReflectContext* context)
+    {
+        if (AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
+        {
+            serializeContext->Class<UiStartMenuComponent, AZ::Component>()
+                ->Version(1)
+                ->Field("HostButton", &UiStartMenuComponent::m_hostButtonUi)
+                ->Field("JoinButton", &UiStartMenuComponent::m_joinButtonUi)
+                ->Field("ExitButton", &UiStartMenuComponent::m_exitButtonUi)
+                ->Field("IPAddressTextInput", &UiStartMenuComponent::m_ipAddressTextInputUi)
+                ->Field("AttemptConnectionBlockerUi", &UiStartMenuComponent::m_attemptConnectionBlockerUi)
+                ->Field("ConnectToHostFailedUi", &UiStartMenuComponent::m_connectToHostFailedUi)
+                ;
+
+            if (AZ::EditContext* editContext = serializeContext->GetEditContext())
+            {
+                editContext->Class<UiStartMenuComponent>("UiStartMenuComponent", "Component to setup the start menu")
+                    ->ClassElement(AZ::Edit::ClassElements::EditorData, "")
+                    ->Attribute(AZ::Edit::Attributes::Category, "Multiplayer Sample UI")
+                    ->Attribute(AZ::Edit::Attributes::Icon, "Icons/Components/Component_Placeholder.svg")
+                    ->Attribute(AZ::Edit::Attributes::AppearsInAddComponentMenu, AZ_CRC_CE("CanvasUI"))
+
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &UiStartMenuComponent::m_hostButtonUi, "Host Button", "The ui button hosting a game (only available for unified launchers which can run as a client-host).")
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &UiStartMenuComponent::m_joinButtonUi, "Join Button", "The ui button joining a multiplayer game based on the provided ip address.")
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &UiStartMenuComponent::m_exitButtonUi, "Exit Button", "The ui button to quit the app.")
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &UiStartMenuComponent::m_ipAddressTextInputUi, "IP Address TextInput", "The ui text input providing the ip address to join.")
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &UiStartMenuComponent::m_attemptConnectionBlockerUi, "Attempt Connection Blocker", "Fullscreen ui for blocking user input while the client tries to connect.")
+                    ->DataElement(AZ::Edit::UIHandlers::Default, &UiStartMenuComponent::m_connectToHostFailedUi, "Connection To Host Failed", "Ui to inform the user that connecting to the host failed.")
+                    ;
+            }
+        }
+    }
+
+    void UiStartMenuComponent::Activate()
+    {
+        UiCursorBus::Broadcast(&UiCursorInterface::IncrementVisibleCounter);
+
+        // Listen for button presses
+        UiButtonBus::Event(m_exitButtonUi, &UiButtonInterface::SetOnClickCallback, [this](AZ::EntityId buttonEntityId, [[maybe_unused]] AZ::Vector2 position) {OnButtonClicked(buttonEntityId); });
+        UiButtonBus::Event(m_hostButtonUi, &UiButtonInterface::SetOnClickCallback, [this](AZ::EntityId buttonEntityId, [[maybe_unused]] AZ::Vector2 position) {OnButtonClicked(buttonEntityId); });
+        UiButtonBus::Event(m_joinButtonUi, &UiButtonInterface::SetOnClickCallback, [this](AZ::EntityId buttonEntityId, [[maybe_unused]] AZ::Vector2 position) {OnButtonClicked(buttonEntityId); });
+        UiButtonBus::Event(m_connectToHostFailedUi, &UiButtonInterface::SetOnClickCallback, [this](AZ::EntityId buttonEntityId, [[maybe_unused]] AZ::Vector2 position) {OnButtonClicked(buttonEntityId); });
+
+        // Hide the host button if this app can't host
+        #if !AZ_TRAIT_SERVER
+            UiElementBus::Event(m_hostButtonUi, &UiElementInterface::SetIsEnabled, false);
+        #endif
+
+        // Hide the attempting connection ui until the player tries to connect
+        UiElementBus::Event(m_attemptConnectionBlockerUi, &UiElementInterface::SetIsEnabled, false);
+
+        // Listen for disconnect events to know if connecting to the host server failed
+        AZ::Interface<Multiplayer::IMultiplayer>::Get()->AddEndpointDisconnectedHandler(m_onConnectToHostFailed);
+
+        // Set default text of the ip-address input textbox based on 'cl_serverAddr'
+        if (const auto console = AZ::Interface<AZ::IConsole>::Get())
+        {
+            AZ::CVarFixedString serverAddress;
+            if (console->GetCvarValue("cl_serverAddr", serverAddress) == AZ::GetValueResult::Success)
+            {
+                UiTextInputBus::Event(m_ipAddressTextInputUi, &UiTextInputInterface::SetText, serverAddress.c_str());
+            }
+            else
+            {
+                AZ_Warning("UiStartMenuComponent", false, "Could not access cl_serveraddr cvar, so the ip-address input textfield won't be filled out. Please update UiStartMenuComponent.cpp to check for a valid cvar!")
+            }
+        }
+    }
+
+    void UiStartMenuComponent::Deactivate()
+    {
+        m_onConnectToHostFailed.Disconnect();
+        UiCursorBus::Broadcast(&UiCursorInterface::DecrementVisibleCounter);
+    }
+
+    void UiStartMenuComponent::OnButtonClicked(AZ::EntityId buttonEntityId) const
+    {
+        const auto console = AZ::Interface<AZ::IConsole>::Get();
+        if (!console)
+        {
+            AZ_Assert(false, "UiStartMenuComponent attempting to use console commands before AZ::Console is available.");
+            return;
+        }
+
+        if (buttonEntityId == m_exitButtonUi)
+        {
+            console->PerformCommand("quit");
+        }
+        else if (buttonEntityId == m_hostButtonUi)
+        {
+            console->PerformCommand("host");
+            console->PerformCommand(AZStd::string::format("loadlevel %s", MultiplayerLevelName).c_str());
+        }
+        else if (buttonEntityId == m_joinButtonUi)
+        {
+            UiElementBus::Event(m_attemptConnectionBlockerUi, &UiElementInterface::SetIsEnabled, true);
+
+            AZStd::string ipAddress = "";
+            UiTextInputBus::EventResult(ipAddress, m_ipAddressTextInputUi, &UiTextInputInterface::GetText);
+
+            const AZStd::string connectCommand = AZStd::string::format("connect %s", ipAddress.c_str());
+            console->PerformCommand(connectCommand.c_str());
+        }
+        else if (buttonEntityId == m_connectToHostFailedUi)
+        {
+            // Player acknowledged connection failed. Close the warning popup.
+            UiElementBus::Event(m_connectToHostFailedUi, &UiElementInterface::SetIsEnabled, false);
+        }
+    }
+
+    void UiStartMenuComponent::OnConnectToHostFailed()
+    {
+        UiElementBus::Event(m_attemptConnectionBlockerUi, &UiElementInterface::SetIsEnabled, false);
+        UiElementBus::Event(m_connectToHostFailedUi, &UiElementInterface::SetIsEnabled, true);
+    }
+
+} // namespace MultiplayerSample

+ 53 - 0
Gem/Code/Source/Components/UI/UiStartMenuComponent.h

@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) Contributors to the Open 3D Engine Project.
+ * For complete copyright and license terms please see the LICENSE at the root of this distribution.
+ *
+ * SPDX-License-Identifier: Apache-2.0 OR MIT
+ *
+ */
+
+#pragma once
+
+#include <AzCore/Component/Component.h>
+#include <Multiplayer/IMultiplayer.h>
+
+namespace MultiplayerSample
+{
+    /*!
+     * \class UiStartMenuComponent
+     * \brief Ui component used for allowing game launcher applications to enter an IP address for connecting to a host.
+     * UnifiedLaunchers, which may either host or join a multiplayer game, will have a button option to host a game.
+    */
+    class UiStartMenuComponent
+        : public AZ::Component
+    {
+    public:
+        // The level a server or unified launcher will need to load once it begins hosting
+        static constexpr char MultiplayerLevelName[] = "NewStarbase";
+
+        AZ_COMPONENT(MultiplayerSample::UiStartMenuComponent, "{2F9DA138-1750-4FC9-B1AE-7945D2C1AB4D}");
+
+        /*
+        * Reflects component data into the reflection contexts, including the serialization, edit, and behavior contexts.
+        */
+        static void Reflect(AZ::ReflectContext* context);
+
+    protected:
+        void Activate() override;
+        void Deactivate() override;
+
+    private:
+        // Listen for disconnect events to know if connecting to the host server failed
+        void OnConnectToHostFailed();
+        Multiplayer::EndpointDisconnectedEvent::Handler m_onConnectToHostFailed{[this]([[maybe_unused]] Multiplayer::MultiplayerAgentType agent) { OnConnectToHostFailed(); }};
+
+        void OnButtonClicked(AZ::EntityId buttonEntityId) const;
+
+        AZ::EntityId m_hostButtonUi;
+        AZ::EntityId m_joinButtonUi;
+        AZ::EntityId m_exitButtonUi;
+        AZ::EntityId m_ipAddressTextInputUi;
+        AZ::EntityId m_attemptConnectionBlockerUi;
+        AZ::EntityId m_connectToHostFailedUi;
+    };
+} // namespace MultiplayerSample

+ 5 - 3
Gem/Code/Source/GameState/GameStateMatchEnded.cpp

@@ -11,10 +11,12 @@
 #include <Source/GameState/GameStatePreparingMatch.h>
 
 namespace MultiplayerSample
-{
-    GameStateMatchEnded::GameStateMatchEnded(NetworkMatchComponentController* controller)
-        : m_controller(controller)
+{    
+    GameStateMatchEnded::GameStateMatchEnded([[maybe_unused]] NetworkMatchComponentController* controller)
     {
+#if AZ_TRAIT_SERVER
+        m_controller = controller;	    
+#endif	    
     }
 
     void GameStateMatchEnded::OnEnter()

+ 2 - 1
Gem/Code/Source/GameState/GameStateMatchEnded.h

@@ -29,8 +29,9 @@ namespace MultiplayerSample
         //! }@
 
     private:
+#if AZ_TRAIT_SERVER
         NetworkMatchComponentController* m_controller = nullptr;
-
+#endif
         AZ::TimeMs m_finishingTime = AZ::Time::ZeroTimeMs;
 
         void OnFinishedMatchTick();

+ 5 - 1
Gem/Code/Source/MultiplayerSampleModule.cpp

@@ -7,6 +7,7 @@
 
 #include <AzCore/Memory/SystemAllocator.h>
 #include <AzCore/Module/Module.h>
+#include <Components/AttachPlayerWeaponComponent.h>
 #include <Components/ExampleFilteredEntityComponent.h>
 #include <Components/PerfTest/NetworkPrefabSpawnerComponent.h>
 #include <Components/PerfTest/NetworkRandomImpulseComponent.h>
@@ -18,6 +19,7 @@
     #include <Components/UI/HUDComponent.h>
     #include <Components/UI/UiMatchPlayerCoinCountsComponent.h>
     #include <Components/UI/UiRestBetweenRoundsComponent.h>
+    #include <Components/UI/UiStartMenuComponent.h>
 #endif
 
 #include <Source/AutoGen/AutoComponentTypes.h>
@@ -39,6 +41,7 @@ namespace MultiplayerSample
             // Push results of [MyComponent]::CreateDescriptor() into m_descriptors here.
             m_descriptors.insert(m_descriptors.end(), {
                 MultiplayerSampleSystemComponent::CreateDescriptor(),
+                AttachPlayerWeaponComponent::CreateDescriptor(),
                 ExampleFilteredEntityComponent::CreateDescriptor(),
                 NetworkPrefabSpawnerComponent::CreateDescriptor(),
                 UiCoinCountComponent::CreateDescriptor(),
@@ -47,7 +50,8 @@ namespace MultiplayerSample
                     UiGameOverComponent::CreateDescriptor(),
                     UiPlayerArmorComponent::CreateDescriptor(),
                     UiMatchPlayerCoinCountsComponent::CreateDescriptor(),
-                    UiRestBetweenRoundsComponent::CreateDescriptor()
+                    UiRestBetweenRoundsComponent::CreateDescriptor(),
+                    UiStartMenuComponent::CreateDescriptor()
                 #endif
             });
 

+ 2 - 2
Gem/Code/Source/Weapons/BaseWeapon.cpp

@@ -125,7 +125,7 @@ namespace MultiplayerSample
         const bool result = MultiplayerSample::GatherEntities(m_weaponParams.m_gatherParams, eventData, m_gatheredNetEntityIds, outResults);
         if (gp_PauseOnWeaponGather && (outResults.size() > 0))
         {
-            AZ::Interface<AZ::IConsole>::Get()->PerformCommand("t_scale 0");
+            AZ::Interface<AZ::IConsole>::Get()->PerformCommand("t_simulationTickScale 0");
         }
         return result;
     }
@@ -135,7 +135,7 @@ namespace MultiplayerSample
         ShotResult result = MultiplayerSample::GatherEntitiesMultisegment(m_weaponParams.m_gatherParams, m_gatheredNetEntityIds, deltaTime, inOutActiveShot, outResults);
         if (gp_PauseOnWeaponGather && (outResults.size() > 0))
         {
-            AZ::Interface<AZ::IConsole>::Get()->PerformCommand("t_scale 0");
+            AZ::Interface<AZ::IConsole>::Get()->PerformCommand("t_simulationTickScale 0");
         }
         return result;
     }

+ 2 - 0
Gem/Code/multiplayersample_client_files.cmake

@@ -16,4 +16,6 @@ set(FILES
     Source/Components/UI/UiPlayerArmorComponent.h
     Source/Components/UI/UiRestBetweenRoundsComponent.cpp
     Source/Components/UI/UiRestBetweenRoundsComponent.h
+    Source/Components/UI/UiStartMenuComponent.cpp
+    Source/Components/UI/UiStartMenuComponent.h
 )

+ 2 - 0
Gem/Code/multiplayersample_files.cmake

@@ -17,6 +17,8 @@ set(FILES
     Include/UiGameOverBus.h
     Include/UiPlayerArmorBus.h
 
+    Source/Components/AttachPlayerWeaponComponent.h
+    Source/Components/AttachPlayerWeaponComponent.cpp
     Source/Components/ExampleFilteredEntityComponent.h
     Source/Components/ExampleFilteredEntityComponent.cpp
     Source/Components/NetworkAiComponent.cpp

+ 2 - 2
Gem/preview.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:6d6204c6730e5675791765ca194e9b1cbec282208e280507de830afc2805e5fa
-size 41127
+oid sha256:936e6057fd22a0c7ef6c48b66d7495dcab105052eaaf24d11b3baff8cce932dc
+size 29895

+ 27 - 1
Levels/GameplayTest/GameplayTest.prefab

@@ -107,7 +107,8 @@
                     "Entity_[15473181801646]",
                     "Entity_[15481771736238]",
                     "Entity_[24092772383715]",
-                    "Entity_[873004712589]"
+                    "Entity_[873004712589]",
+                    "Instance_[990233405078]/ContainerEntity"
                 ]
             }
         }
@@ -13717,6 +13718,31 @@
                     "value": 0.8977532386779785
                 }
             ]
+        },
+        "Instance_[990233405078]": {
+            "Source": "MalfunctioningShieldGenerator/mshieldgen.prefab",
+            "Patches": [
+                {
+                    "op": "replace",
+                    "path": "/ContainerEntity/Components/Component_[2815070735218165771]/Parent Entity",
+                    "value": "../Entity_[356758116574]"
+                },
+                {
+                    "op": "replace",
+                    "path": "/ContainerEntity/Components/Component_[2815070735218165771]/Transform Data/Translate/0",
+                    "value": 14.869112014770508
+                },
+                {
+                    "op": "replace",
+                    "path": "/ContainerEntity/Components/Component_[2815070735218165771]/Transform Data/Translate/1",
+                    "value": 2.133294105529785
+                },
+                {
+                    "op": "replace",
+                    "path": "/ContainerEntity/Components/Component_[2815070735218165771]/Transform Data/Translate/2",
+                    "value": -0.02783727645874023
+                }
+            ]
         }
     }
 }

+ 2 - 2
PopcornFX/Particles/MalfunctionningShieldGenerator/FX_MalfunctionningShieldGenerator_Explosion.pkfx

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:235f409c5d866abf084efa9899fe52123eee42963404f2becd2bcfd744cd81f2
-size 1110014
+oid sha256:5206fdc8833991b91d5c191be09e0bf856c2f5cb9683ddecea06a764eb0ef4cd
+size 1021641

+ 48 - 119
Prefabs/Player.prefab

@@ -54,13 +54,6 @@
             "Id": "Entity_[79122787930156]",
             "Name": "Player",
             "Components": {
-                "Component_[10227101122471384676]": {
-                    "$type": "GenericComponentWrapper",
-                    "Id": 10227101122471384676,
-                    "m_template": {
-                        "$type": "Multiplayer::NetworkDebugPlayerIdComponent"
-                    }
-                },
                 "Component_[10752091759919038477]": {
                     "$type": "EditorInspectorComponent",
                     "Id": 10752091759919038477,
@@ -185,6 +178,35 @@
                         "$type": "MultiplayerSample::NetworkHealthComponent"
                     }
                 },
+                "Component_[11014058151734361262]": {
+                    "$type": "GenericComponentWrapper",
+                    "Id": 11014058151734361262,
+                    "m_template": {
+                        "$type": "MultiplayerSample::AttachPlayerWeaponComponent",
+                        "WeaponAsset": {
+                            "assetId": {
+                                "guid": "{A3F7D1D0-33BC-5A2B-BEC3-1ABA33AC212B}",
+                                "subId": 992460137
+                            },
+                            "assetHint": "prefabs/laser_pistol.spawnable"
+                        },
+                        "Bone To Attach To": "mixamorig:RightHand",
+                        "Transform": {
+                            "Translation": [
+                                -0.05999999865889549,
+                                0.03999999910593033,
+                                0.17000000178813934
+                            ],
+                            "Rotation": [
+                                0.0,
+                                0.7071068286895752,
+                                0.0,
+                                -0.7071067094802856
+                            ],
+                            "Scale": 1.0
+                        }
+                    }
+                },
                 "Component_[11573337348143243531]": {
                     "$type": "GenericComponentWrapper",
                     "Id": 11573337348143243531,
@@ -261,10 +283,7 @@
                 },
                 "Component_[16870214955717717317]": {
                     "$type": "EditorEntitySortComponent",
-                    "Id": 16870214955717717317,
-                    "Child Entity Order": [
-                        "Entity_[79127082897452]"
-                    ]
+                    "Id": 16870214955717717317
                 },
                 "Component_[17019293261405199280]": {
                     "$type": "EditorLockComponent",
@@ -482,6 +501,23 @@
                         "$type": "Multiplayer::NetworkTransformComponent"
                     }
                 },
+                "Component_[6986583060757611873]": {
+                    "$type": "EditorScriptCanvasComponent",
+                    "Id": 6986583060757611873,
+                    "configuration": {
+                        "sourceHandle": {
+                            "id": "{83DDCA95-0CA1-5599-AA7C-EFCF1E6BC753}",
+                            "path": "scriptcanvas/DamagePlayer.scriptcanvas"
+                        },
+                        "sourceName": "DamagePlayer.scriptcanvas",
+                        "propertyOverrides": {
+                            "source": {
+                                "id": "{83DDCA95-0CA1-5599-AA7C-EFCF1E6BC753}",
+                                "path": "scriptcanvas/DamagePlayer.scriptcanvas"
+                            }
+                        }
+                    }
+                },
                 "Component_[7398251875150394377]": {
                     "$type": "GenericComponentWrapper",
                     "Id": 7398251875150394377,
@@ -530,7 +566,7 @@
                                     "ParticleAsset": {
                                         "guid": "{123FCBB4-016F-56D6-9DEC-BD329101C46F}"
                                     },
-                                    "AudioTrigger": "Play_Sound_Gun_Firing"
+                                    "AudioTrigger": "play_sx_wpn_laserpistol_fire"
                                 },
                                 "ImpactFx": {
                                     "ParticleAsset": {
@@ -693,113 +729,6 @@
                     }
                 }
             }
-        },
-        "Entity_[79127082897452]": {
-            "Id": "Entity_[79127082897452]",
-            "Name": "Weapon",
-            "Components": {
-                "Component_[13189139624927963945]": {
-                    "$type": "EditorVisibilityComponent",
-                    "Id": 13189139624927963945
-                },
-                "Component_[13885502588543603778]": {
-                    "$type": "EditorPendingCompositionComponent",
-                    "Id": 13885502588543603778
-                },
-                "Component_[14648513879502314759]": {
-                    "$type": "EditorEntityIconComponent",
-                    "Id": 14648513879502314759
-                },
-                "Component_[14977488698964245606]": {
-                    "$type": "EditorInspectorComponent",
-                    "Id": 14977488698964245606
-                },
-                "Component_[15538119291371334605]": {
-                    "$type": "EditorOnlyEntityComponent",
-                    "Id": 15538119291371334605
-                },
-                "Component_[17615699442004664488]": {
-                    "$type": "EditorDisabledCompositionComponent",
-                    "Id": 17615699442004664488
-                },
-                "Component_[1933340800347360656]": {
-                    "$type": "EditorActorComponent",
-                    "Id": 1933340800347360656,
-                    "ActorAsset": {
-                        "assetId": {
-                            "guid": "{76B6FE48-1A08-53EF-92E4-A5F70A034972}",
-                            "subId": 2131347208
-                        },
-                        "loadBehavior": "QueueLoad",
-                        "assetHint": "attachments/laser_gun/gun.actor"
-                    },
-                    "AttachmentTarget": ""
-                },
-                "Component_[229280947394986432]": {
-                    "$type": "EditorLockComponent",
-                    "Id": 229280947394986432
-                },
-                "Component_[2929462119505350792]": {
-                    "$type": "EditorMaterialComponent",
-                    "Id": 2929462119505350792,
-                    "Controller": {
-                        "Configuration": {
-                            "materials": [
-                                {
-                                    "Key": {
-                                        "materialSlotStableId": 3784176759
-                                    },
-                                    "Value": {
-                                        "MaterialAsset": {
-                                            "assetId": {
-                                                "guid": "{B67B074C-11F3-5615-9C82-EE5C47630AA7}"
-                                            },
-                                            "assetHint": "attachments/laser_gun/gun_gun.azmaterial"
-                                        }
-                                    }
-                                }
-                            ]
-                        }
-                    }
-                },
-                "Component_[3143529322920032580]": {
-                    "$type": "EditorAttachmentComponent",
-                    "Id": 3143529322920032580,
-                    "Target ID": "Entity_[79122787930156]",
-                    "Target Bone Name": "mixamorig:RightHand",
-                    "Position Offset": [
-                        -0.05999999865889549,
-                        0.03999999910593033,
-                        0.17000000178813934
-                    ],
-                    "Rotation Offset": [
-                        0.0,
-                        -90.0,
-                        0.0
-                    ]
-                },
-                "Component_[6491658821099841814]": {
-                    "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent",
-                    "Id": 6491658821099841814,
-                    "Parent Entity": "Entity_[79122787930156]",
-                    "Transform Data": {
-                        "Translate": [
-                            0.9078289866447449,
-                            -0.0017137452960014343,
-                            1.3956557512283325
-                        ],
-                        "Rotate": [
-                            -90.00000762939453,
-                            -0.00008210443775169551,
-                            -0.00001931869519467
-                        ]
-                    }
-                },
-                "Component_[7113995579181326026]": {
-                    "$type": "EditorEntitySortComponent",
-                    "Id": 7113995579181326026
-                }
-            }
         }
     }
 }

+ 12 - 0
Registry/settings.multiplayersample_gamelauncher.setreg

@@ -0,0 +1,12 @@
+{
+    "Amazon": {
+        "AzCore": {
+            "Runtime": {
+                "ConsoleCommands": {
+                    "cl_serverAddr": "127.0.0.1",
+                    "loadlevel": "startmenu"
+                }
+            }
+        }
+    }
+}

+ 12 - 0
Registry/settings.multiplayersample_unifiedlauncher.setreg

@@ -0,0 +1,12 @@
+{
+    "Amazon": {
+        "AzCore": {
+            "Runtime": {
+                "ConsoleCommands": {
+                    "cl_serverAddr": "127.0.0.1",
+                    "loadlevel": "startmenu"
+                }
+            }
+        }
+    }
+}

+ 16 - 0
Registry/splash_screen.setreg

@@ -0,0 +1,16 @@
+
+{
+    "O3DE": {
+        "Atom": {
+            "Feature": {
+                "SplashScreenEnable": true,
+                "SplashScreen": {
+                    "$type": "AZ::Render::SplashScreenSettings",
+                    "ImagePath" : "UICanvases/SplashScreen/splashscreen.jpg.streamingimage",
+                    "DurationSeconds" : 5.0,
+                    "Fading" : true
+                }
+            }
+        }
+    }
+}

+ 2 - 2
Sounds/wwise/MultiplayerSample_SoundBank.bnk

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:63c00590cd27f56fe9decc5944ea712c8ab8bd22ffb5e64324ae22d34ac8cb64
-size 36942243
+oid sha256:35d3c0371a34ed39fd957204b84b00bcfe9fa5916e9adf017b7e076d4cb7388e
+size 33758356

+ 1 - 1
Sounds/wwise_project/Actor-Mixer Hierarchy/AMPS/Player.wwu

@@ -326,7 +326,7 @@
 							<PropertyList>
 								<Property Name="Volume" Type="Real64">
 									<ValueList>
-										<Value>-12</Value>
+										<Value>-22</Value>
 									</ValueList>
 								</Property>
 							</PropertyList>

+ 7 - 2
Sounds/wwise_project/Actor-Mixer Hierarchy/AMPS/WPN.wwu

@@ -778,6 +778,11 @@
 						<ActorMixer Name="LaserPistol" ID="{EDDB579D-D07E-4F19-BB5A-7E045FC48DA5}" ShortID="466269689">
 							<PropertyList>
 								<Property Name="BelowThresholdBehavior" Type="int16" Value="3"/>
+								<Property Name="Volume" Type="Real64">
+									<ValueList>
+										<Value>-17</Value>
+									</ValueList>
+								</Property>
 							</PropertyList>
 							<ReferenceList>
 								<Reference Name="Conversion">
@@ -795,7 +800,7 @@
 										<Property Name="OverridePositioning" Type="bool" Value="True"/>
 										<Property Name="Volume" Type="Real64">
 											<ValueList>
-												<Value>-5</Value>
+												<Value>-6</Value>
 											</ValueList>
 										</Property>
 									</PropertyList>
@@ -1033,7 +1038,7 @@
 										<Property Name="OverridePositioning" Type="bool" Value="True"/>
 										<Property Name="Volume" Type="Real64">
 											<ValueList>
-												<Value>-13</Value>
+												<Value>-6</Value>
 											</ValueList>
 										</Property>
 									</PropertyList>

+ 1 - 148
Sounds/wwise_project/Actor-Mixer Hierarchy/Default Work Unit.wwu

@@ -1,153 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <WwiseDocument Type="WorkUnit" ID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}" SchemaVersion="103">
 	<AudioObjects>
-		<WorkUnit Name="Default Work Unit" ID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}" PersistMode="Standalone">
-			<ChildrenList>
-				<Sound Name="Sound_Gun_Firing" ID="{3E5770AB-FCF8-4648-9120-389A6011FB0A}" ShortID="424958082">
-					<PropertyList>
-						<Property Name="Volume" Type="Real64">
-							<ValueList>
-								<Value>-8</Value>
-							</ValueList>
-						</Property>
-					</PropertyList>
-					<ReferenceList>
-						<Reference Name="Conversion">
-							<ObjectRef Name="Default Conversion Settings" ID="{6D1B890C-9826-4384-BF07-C15223E9FB56}" WorkUnitID="{0119FCBC-B171-4B2F-BB85-593A23CC9CD0}"/>
-						</Reference>
-						<Reference Name="OutputBus">
-							<ObjectRef Name="Master Audio Bus" ID="{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" WorkUnitID="{F62C277B-2C60-43BB-A8B2-F1E94C3F98EC}"/>
-						</Reference>
-					</ReferenceList>
-					<ChildrenList>
-						<AudioFileSource Name="AMZ_sfx_CHR_wpn_plasma_pistol_fire001" ID="{AF6E7584-89BF-4CAA-9AB8-91C812EEB060}">
-							<Language>SFX</Language>
-							<AudioFile>AMZ_sfx_CHR_wpn_plasma_pistol_fire001.wav</AudioFile>
-							<MediaIDList>
-								<MediaID ID="970756583"/>
-							</MediaIDList>
-						</AudioFileSource>
-					</ChildrenList>
-					<ObjectLists/>
-					<ActiveSourceList>
-						<ActiveSource Name="AMZ_sfx_CHR_wpn_plasma_pistol_fire001" ID="{AF6E7584-89BF-4CAA-9AB8-91C812EEB060}" Platform="Linked"/>
-					</ActiveSourceList>
-				</Sound>
-				<Sound Name="Round_Begin" ID="{F98AB3A3-17FB-428D-AF90-1250DED53315}" ShortID="473337408">
-					<PropertyList>
-						<Property Name="Volume" Type="Real64">
-							<ValueList>
-								<Value>-8</Value>
-							</ValueList>
-						</Property>
-					</PropertyList>
-					<ReferenceList>
-						<Reference Name="Conversion">
-							<ObjectRef Name="Default Conversion Settings" ID="{6D1B890C-9826-4384-BF07-C15223E9FB56}" WorkUnitID="{0119FCBC-B171-4B2F-BB85-593A23CC9CD0}"/>
-						</Reference>
-						<Reference Name="OutputBus">
-							<ObjectRef Name="Master Audio Bus" ID="{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" WorkUnitID="{F62C277B-2C60-43BB-A8B2-F1E94C3F98EC}"/>
-						</Reference>
-					</ReferenceList>
-					<ChildrenList>
-						<AudioFileSource Name="AMZN_sfx_env_TPort_Begin_Stereo_001" ID="{C1EB6895-A003-44F5-8AD6-BB339E47E95F}">
-							<Language>SFX</Language>
-							<AudioFile>AMZN_sfx_env_TPort_Begin_Stereo_001.wav</AudioFile>
-							<MediaIDList>
-								<MediaID ID="248331551"/>
-							</MediaIDList>
-						</AudioFileSource>
-					</ChildrenList>
-					<ObjectLists/>
-					<ActiveSourceList>
-						<ActiveSource Name="AMZN_sfx_env_TPort_Begin_Stereo_001" ID="{C1EB6895-A003-44F5-8AD6-BB339E47E95F}" Platform="Linked"/>
-					</ActiveSourceList>
-				</Sound>
-				<Sound Name="Round_End" ID="{7A88D693-7E85-42F8-AEB1-C34A52F28E71}" ShortID="610343362">
-					<PropertyList>
-						<Property Name="Volume" Type="Real64">
-							<ValueList>
-								<Value>-8</Value>
-							</ValueList>
-						</Property>
-					</PropertyList>
-					<ReferenceList>
-						<Reference Name="Conversion">
-							<ObjectRef Name="Default Conversion Settings" ID="{6D1B890C-9826-4384-BF07-C15223E9FB56}" WorkUnitID="{0119FCBC-B171-4B2F-BB85-593A23CC9CD0}"/>
-						</Reference>
-						<Reference Name="OutputBus">
-							<ObjectRef Name="Master Audio Bus" ID="{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" WorkUnitID="{F62C277B-2C60-43BB-A8B2-F1E94C3F98EC}"/>
-						</Reference>
-					</ReferenceList>
-					<ChildrenList>
-						<AudioFileSource Name="AMZN_sfx_env_TPort_End_Stereo_001" ID="{46BFEB26-1FA0-49B6-B280-604B97F5FD82}">
-							<Language>SFX</Language>
-							<AudioFile>AMZN_sfx_env_TPort_End_Stereo_001.wav</AudioFile>
-							<MediaIDList>
-								<MediaID ID="579495553"/>
-							</MediaIDList>
-						</AudioFileSource>
-					</ChildrenList>
-					<ObjectLists/>
-					<ActiveSourceList>
-						<ActiveSource Name="AMZN_sfx_env_TPort_End_Stereo_001" ID="{46BFEB26-1FA0-49B6-B280-604B97F5FD82}" Platform="Linked"/>
-					</ActiveSourceList>
-				</Sound>
-				<Sound Name="Laser_Gun_Impact" ID="{3D2AAE26-21FE-45B2-8E94-61156D870DAB}" ShortID="50850744">
-					<PropertyList>
-						<Property Name="3DSpatialization" Type="int16" Value="1"/>
-						<Property Name="Volume" Type="Real64">
-							<ValueList>
-								<Value>-5</Value>
-							</ValueList>
-						</Property>
-					</PropertyList>
-					<ReferenceList>
-						<Reference Name="Conversion">
-							<ObjectRef Name="Default Conversion Settings" ID="{6D1B890C-9826-4384-BF07-C15223E9FB56}" WorkUnitID="{0119FCBC-B171-4B2F-BB85-593A23CC9CD0}"/>
-						</Reference>
-						<Reference Name="OutputBus">
-							<ObjectRef Name="Master Audio Bus" ID="{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" WorkUnitID="{F62C277B-2C60-43BB-A8B2-F1E94C3F98EC}"/>
-						</Reference>
-					</ReferenceList>
-					<ChildrenList>
-						<AudioFileSource Name="AMZ_sfx_CHR_wpn_plasma_pistol_hit003" ID="{86AE6CCE-C5F9-42C2-8F7D-516D236C7FBE}">
-							<Language>SFX</Language>
-							<AudioFile>AMZ_sfx_CHR_wpn_plasma_pistol_hit003.wav</AudioFile>
-							<MediaIDList>
-								<MediaID ID="74130157"/>
-							</MediaIDList>
-						</AudioFileSource>
-					</ChildrenList>
-					<ObjectLists/>
-					<ActiveSourceList>
-						<ActiveSource Name="AMZ_sfx_CHR_wpn_plasma_pistol_hit003" ID="{86AE6CCE-C5F9-42C2-8F7D-516D236C7FBE}" Platform="Linked"/>
-					</ActiveSourceList>
-				</Sound>
-				<Sound Name="Gem_Pickup" ID="{1FA8804D-E4F4-4A97-9B04-66134712F5C0}" ShortID="437799555">
-					<ReferenceList>
-						<Reference Name="Conversion">
-							<ObjectRef Name="Default Conversion Settings" ID="{6D1B890C-9826-4384-BF07-C15223E9FB56}" WorkUnitID="{0119FCBC-B171-4B2F-BB85-593A23CC9CD0}"/>
-						</Reference>
-						<Reference Name="OutputBus">
-							<ObjectRef Name="Master Audio Bus" ID="{1514A4D8-1DA6-412A-A17E-75CA0C2149F3}" WorkUnitID="{F62C277B-2C60-43BB-A8B2-F1E94C3F98EC}"/>
-						</Reference>
-					</ReferenceList>
-					<ChildrenList>
-						<AudioFileSource Name="gun_no_ammo" ID="{543C9961-68EB-404E-9DA0-6BE0C8B91268}">
-							<Language>SFX</Language>
-							<AudioFile>gun_no_ammo.wav</AudioFile>
-							<MediaIDList>
-								<MediaID ID="897021678"/>
-							</MediaIDList>
-						</AudioFileSource>
-					</ChildrenList>
-					<ObjectLists/>
-					<ActiveSourceList>
-						<ActiveSource Name="gun_no_ammo" ID="{543C9961-68EB-404E-9DA0-6BE0C8B91268}" Platform="Linked"/>
-					</ActiveSourceList>
-				</Sound>
-			</ChildrenList>
-		</WorkUnit>
+		<WorkUnit Name="Default Work Unit" ID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}" PersistMode="Standalone"/>
 	</AudioObjects>
 </WwiseDocument>

+ 1 - 129
Sounds/wwise_project/Events/Default Work Unit.wwu

@@ -1,134 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <WwiseDocument Type="WorkUnit" ID="{0566E170-B00C-43ED-9207-35F37FE8B969}" SchemaVersion="103">
 	<Events>
-		<WorkUnit Name="Default Work Unit" ID="{0566E170-B00C-43ED-9207-35F37FE8B969}" PersistMode="Standalone">
-			<ChildrenList>
-				<Event Name="Play_Sound_Gun_Firing" ID="{63C45C11-B9BD-4FC0-9C38-2924864C9E04}">
-					<ChildrenList>
-						<Action Name="" ID="{9ED88BFA-37ED-4823-AC3C-7FD58D21DFDA}" ShortID="560356255">
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Sound_Gun_Firing" ID="{3E5770AB-FCF8-4648-9120-389A6011FB0A}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Stop_Sound_Gun_Firing" ID="{2FAF19B7-7F60-48AA-AC97-33DD9FA4C54D}">
-					<ChildrenList>
-						<Action Name="" ID="{AE51E087-8667-4C0F-A967-63370308A505}" ShortID="402949924">
-							<PropertyList>
-								<Property Name="ActionType" Type="int16" Value="2"/>
-							</PropertyList>
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Sound_Gun_Firing" ID="{3E5770AB-FCF8-4648-9120-389A6011FB0A}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Play_Round_End" ID="{5CE012D9-FD3B-4E65-9B10-7D2E307E920C}">
-					<ChildrenList>
-						<Action Name="" ID="{764887F9-204E-431C-B65E-9367DAD9C7C6}" ShortID="669036695">
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Round_End" ID="{7A88D693-7E85-42F8-AEB1-C34A52F28E71}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Stop_Round_End" ID="{849C8BCC-3C50-4B88-A9F9-AE56E05213F2}">
-					<ChildrenList>
-						<Action Name="" ID="{1275B966-4A2F-4C32-A85E-15C3561CD42E}" ShortID="24411205">
-							<PropertyList>
-								<Property Name="ActionType" Type="int16" Value="2"/>
-							</PropertyList>
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Round_End" ID="{7A88D693-7E85-42F8-AEB1-C34A52F28E71}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Play_Round_Begin" ID="{D684C934-FF22-44B3-B8FE-5BD601B2CA67}">
-					<ChildrenList>
-						<Action Name="" ID="{03BBECCB-B89F-4B6E-A3FC-6C31A1C5D27C}" ShortID="75497347">
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Round_Begin" ID="{F98AB3A3-17FB-428D-AF90-1250DED53315}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Stop_Round_Begin" ID="{875FE9AB-B735-45E4-8A0B-5C07A56FE68C}">
-					<ChildrenList>
-						<Action Name="" ID="{4F2ED058-00BE-493B-A1B0-3D7ABB847F32}" ShortID="946072774">
-							<PropertyList>
-								<Property Name="ActionType" Type="int16" Value="2"/>
-							</PropertyList>
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Round_Begin" ID="{F98AB3A3-17FB-428D-AF90-1250DED53315}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Play_Laser_Gun_Impact" ID="{CC2C8A46-1F06-46D8-968A-BF4FEFCBF059}">
-					<ChildrenList>
-						<Action Name="" ID="{60C5DEA2-67ED-411E-A03B-CC4ADF40709F}" ShortID="37288913">
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Laser_Gun_Impact" ID="{3D2AAE26-21FE-45B2-8E94-61156D870DAB}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Stop_Laser_Gun_Impact" ID="{66A03A99-F283-4A56-A7A6-9E4DAACF6D0E}">
-					<ChildrenList>
-						<Action Name="" ID="{CA3C27E2-BC54-4006-8374-997A5E8C773D}" ShortID="563489653">
-							<PropertyList>
-								<Property Name="ActionType" Type="int16" Value="2"/>
-							</PropertyList>
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Laser_Gun_Impact" ID="{3D2AAE26-21FE-45B2-8E94-61156D870DAB}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Play_Gem_Pickup" ID="{71E57F3C-D599-41C4-8809-E1B12C333CD6}">
-					<ChildrenList>
-						<Action Name="" ID="{F0CC3DD1-BA86-449B-96FE-0FB923243920}" ShortID="797184731">
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Gem_Pickup" ID="{1FA8804D-E4F4-4A97-9B04-66134712F5C0}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-				<Event Name="Stop_Gem_Pickup" ID="{A092F014-CD71-4BB3-A74A-C19A5F677392}">
-					<ChildrenList>
-						<Action Name="" ID="{291F72BD-953E-457E-B935-34C2721A1EB8}" ShortID="430319041">
-							<PropertyList>
-								<Property Name="ActionType" Type="int16" Value="2"/>
-							</PropertyList>
-							<ReferenceList>
-								<Reference Name="Target">
-									<ObjectRef Name="Gem_Pickup" ID="{1FA8804D-E4F4-4A97-9B04-66134712F5C0}" WorkUnitID="{C0C67A39-4BC0-4EBF-94ED-C01D16939EBC}"/>
-								</Reference>
-							</ReferenceList>
-						</Action>
-					</ChildrenList>
-				</Event>
-			</ChildrenList>
-		</WorkUnit>
+		<WorkUnit Name="Default Work Unit" ID="{0566E170-B00C-43ED-9207-35F37FE8B969}" PersistMode="Standalone"/>
 	</Events>
 </WwiseDocument>

+ 0 - 47
UICanvases/Reticle.uicanvas

@@ -49,53 +49,6 @@
 					<Class name="bool" field="GuidesLocked" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
 					<Class name="AZStd::vector&lt;SimpleAssetReference&lt;TextureAtlasAsset&gt;, allocator&gt;" field="TextureAtlases" type="{73F8CC7B-8504-5F80-BD45-1620CD7EF9AB}"/>
 				</Class>
-				<Class name="UiMatchPlayerCoinCountsComponent" field="element" version="1" type="{529B9B3B-BEA2-4120-9089-C4451438E4C0}">
-					<Class name="AZ::Component" field="BaseClass1" type="{EDFCB2CF-F75D-43BE-B26B-F35821B29247}">
-						<Class name="AZ::u64" field="Id" value="17175238163420874223" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="EntityId" field="Root Element" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-						<Class name="AZ::u64" field="id" value="6241555145456" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="AZStd::vector&lt;EntityId, allocator&gt;" field="Stat Rows for Players" type="{4841CFF0-7A5C-519C-BD16-D3625E99605E}">
-						<Class name="EntityId" field="element" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-							<Class name="AZ::u64" field="id" value="6275914883824" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-						</Class>
-						<Class name="EntityId" field="element" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-							<Class name="AZ::u64" field="id" value="6301684687600" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-						</Class>
-						<Class name="EntityId" field="element" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-							<Class name="AZ::u64" field="id" value="6327454491376" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-						</Class>
-					</Class>
-				</Class>
-				<Class name="UiGameOverComponent" field="element" version="2" type="{37A2DE13-A8FA-4EE1-8652-E17253137F62}">
-					<Class name="AZ::Component" field="BaseClass1" type="{EDFCB2CF-F75D-43BE-B26B-F35821B29247}">
-						<Class name="AZ::u64" field="Id" value="1500200617437320384" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="EntityId" field="Game Over root element" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-						<Class name="AZ::u64" field="id" value="2874350406586" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="EntityId" field="Winner Name Text" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-						<Class name="AZ::u64" field="id" value="720534002779" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="EntityId" field="Match Results element" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-						<Class name="AZ::u64" field="id" value="725391798139" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="EntityId" field="Close Results Button" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-						<Class name="AZ::u64" field="id" value="838924123422" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-				</Class>
-				<Class name="UiCoinCountComponent" field="element" version="1" type="{EDE1871E-70FA-4D63-9DC4-AA451B1B3FA9}">
-					<Class name="AZ::Component" field="BaseClass1" type="{EDFCB2CF-F75D-43BE-B26B-F35821B29247}">
-						<Class name="AZ::u64" field="Id" value="2161056527880926956" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="EntityId" field="Coin Count Text" version="1" type="{6383F1D3-BB27-4E6B-A49A-6409B2059EAA}">
-						<Class name="AZ::u64" field="id" value="720749928907" type="{D6597933-47CD-4FC8-B911-63F3E2B0993A}"/>
-					</Class>
-					<Class name="Color" field="Just Changed Color" value="0.0000000 0.5000000 0.0000000 1.0000000" type="{7894072A-9050-4F0F-901B-34B1A0D29417}"/>
-					<Class name="Color" field="Coin Color" value="0.9725490 0.9803922 0.9882353 1.0000000" type="{7894072A-9050-4F0F-901B-34B1A0D29417}"/>
-					<Class name="AZ::s64" field="Effect Duration" value="300" type="{70D8A282-A1EA-462D-9D04-51EDE81FAC2F}"/>
-				</Class>
 			</Class>
 			<Class name="bool" field="IsDependencyReady" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
 			<Class name="bool" field="IsRuntimeActive" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>

+ 0 - 0
UICanvases/SplashScreen/SpashPanel.png → UICanvases/SplashScreen/SplashPanel.png


+ 0 - 0
UICanvases/SplashScreen/SpashScreen.jpg → UICanvases/SplashScreen/SplashScreen.jpg


+ 61 - 4
UICanvases/SplashScreen/SpashScreen.jpg.assetinfo → UICanvases/SplashScreen/SplashScreen.jpg.assetinfo

@@ -4,7 +4,7 @@
 		<Class name="Name" field="Preset" value="UserInterface_Compressed" type="{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}"/>
 		<Class name="unsigned int" field="SizeReduceLevel" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
 		<Class name="bool" field="EngineReduce" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
-		<Class name="bool" field="EnableMipmap" value="true" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
+		<Class name="bool" field="EnableMipmap" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
 		<Class name="unsigned int" field="MipMapGenEval" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
 		<Class name="ImageProcessingAtom::MipGenType" field="MipMapGenType" value="1" type="{8524F650-1417-44DA-BBB0-C707A7A1A709}"/>
 		<Class name="bool" field="MaintainAlphaCoverage" value="false" type="{A0CA880C-AFE4-43CB-926C-59AC48496112}"/>
@@ -22,7 +22,28 @@
 				<Class name="DataPatch" field="value2" type="{BFF7A3F5-9014-4000-92C7-9B2BC7913DA9}">
 					<Class name="AZ::Uuid" field="m_targetClassId" value="{980132FF-C450-425D-8AE0-BD96A8486177}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
 					<Class name="unsigned int" field="m_targetClassVersion" value="2" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
-					<Class name="AZStd::unordered_map&lt;AddressType, AZStd::any, AZStd::hash&lt;AddressType&gt;, AZStd::equal_to&lt;AddressType&gt;, allocator&gt;" field="m_patch" type="{CEA836FC-77E0-5E46-BD0F-2E5A39D845E9}"/>
+					<Class name="AZStd::unordered_map&lt;AddressType, AZStd::any, AZStd::hash&lt;AddressType&gt;, AZStd::equal_to&lt;AddressType&gt;, allocator&gt;" field="m_patch" type="{CEA836FC-77E0-5E46-BD0F-2E5A39D845E9}">
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#4·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#2·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#3·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#0·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#1·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+					</Class>
 				</Class>
 			</Class>
 			<Class name="AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;" field="element" type="{CAC4E67F-D626-5452-A057-ACB57D53F549}">
@@ -31,10 +52,26 @@
 					<Class name="AZ::Uuid" field="m_targetClassId" value="{980132FF-C450-425D-8AE0-BD96A8486177}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
 					<Class name="unsigned int" field="m_targetClassVersion" value="2" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
 					<Class name="AZStd::unordered_map&lt;AddressType, AZStd::any, AZStd::hash&lt;AddressType&gt;, AZStd::equal_to&lt;AddressType&gt;, allocator&gt;" field="m_patch" type="{CEA836FC-77E0-5E46-BD0F-2E5A39D845E9}">
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#4·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#2·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#3·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
 						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
 							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#0·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
 							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
 						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#1·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
 					</Class>
 				</Class>
 			</Class>
@@ -45,13 +82,25 @@
 					<Class name="unsigned int" field="m_targetClassVersion" value="2" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
 					<Class name="AZStd::unordered_map&lt;AddressType, AZStd::any, AZStd::hash&lt;AddressType&gt;, AZStd::equal_to&lt;AddressType&gt;, allocator&gt;" field="m_patch" type="{CEA836FC-77E0-5E46-BD0F-2E5A39D845E9}">
 						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
-							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#1·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#4·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#2·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#3·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
 							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
 						</Class>
 						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
 							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#0·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
 							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
 						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#1·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
 					</Class>
 				</Class>
 			</Class>
@@ -61,18 +110,26 @@
 					<Class name="AZ::Uuid" field="m_targetClassId" value="{980132FF-C450-425D-8AE0-BD96A8486177}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
 					<Class name="unsigned int" field="m_targetClassVersion" value="2" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
 					<Class name="AZStd::unordered_map&lt;AddressType, AZStd::any, AZStd::hash&lt;AddressType&gt;, AZStd::equal_to&lt;AddressType&gt;, allocator&gt;" field="m_patch" type="{CEA836FC-77E0-5E46-BD0F-2E5A39D845E9}">
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#4·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
 						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
 							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#2·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
 							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
 						</Class>
 						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
-							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#1·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#3·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
 							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
 						</Class>
 						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
 							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#0·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
 							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
 						</Class>
+						<Class name="AZStd::pair&lt;AddressType, AZStd::any&gt;" field="element" type="{FED51EB4-F646-51FF-9646-9852CF90F353}">
+							<Class name="AddressType" field="value1" value="AZStd::map&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch, AZStd::less&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;&gt;, allocator&gt;({74E4843B-0924-583D-8C6E-A37B09BD51FE})::PlatformSpecificOverrides·0/AZStd::pair&lt;AZStd::basic_string&lt;char, AZStd::char_traits&lt;char&gt;, allocator&gt;, DataPatch&gt;({CAC4E67F-D626-5452-A057-ACB57D53F549})#1·0/" version="1" type="{90752F2D-CBD3-4EE9-9CDD-447E797C8408}"/>
+							<Class name="AZStd::any" field="value2" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}"/>
+						</Class>
 					</Class>
 				</Class>
 			</Class>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 467 - 399
UICanvases/StartMenu.uicanvas


+ 2 - 2
preview.png

@@ -1,3 +1,3 @@
 version https://git-lfs.github.com/spec/v1
-oid sha256:682ecefceef4c154e386cd2dcdca2db7a3357c078777018968b181fd94abe7c8
-size 75685
+oid sha256:06e6db9ae8c332ef40921ede4ac1aa5637e9125cf616787d1640809ed8fc565a
+size 117744

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 350 - 378
scriptcanvas/DamagePlayer.scriptcanvas


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 388 - 119
scriptcanvas/ReticleEffects.scriptcanvas


+ 1573 - 0
scriptcanvas/ShieldGeneratorExplosionEffects.scriptcanvas

@@ -0,0 +1,1573 @@
+{
+    "Type": "JsonSerialization",
+    "Version": 1,
+    "ClassName": "ScriptCanvasData",
+    "ClassData": {
+        "m_scriptCanvas": {
+            "Id": {
+                "id": 432966892793221
+            },
+            "Name": "Script Canvas Graph",
+            "Components": {
+                "Component_[6797040544570534739]": {
+                    "$type": "EditorGraphVariableManagerComponent",
+                    "Id": 6797040544570534739
+                },
+                "Component_[8318769961390103668]": {
+                    "$type": "EditorGraph",
+                    "Id": 8318769961390103668,
+                    "m_graphData": {
+                        "m_nodes": [
+                            {
+                                "Id": {
+                                    "id": 433001252531589
+                                },
+                                "Name": "SC-Node(IfAgentTypeNodeableNode)",
+                                "Components": {
+                                    "Component_[12257188371063948385]": {
+                                        "$type": "IfAgentTypeNodeableNode",
+                                        "Id": 12257188371063948385,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{5755CE76-633D-4023-BBF3-38ADFD23374F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "toolTip": "Branches on agent type",
+                                                "DisplayGroup": {
+                                                    "Value": 1609338446
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{59C00F05-5537-4398-B3AB-9D89C727BF8F}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "If Client Type",
+                                                "toolTip": "A Client connected to either a server or host.",
+                                                "DisplayGroup": {
+                                                    "Value": 1609338446
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{F0C307F2-ABED-41FD-B876-6E7DE8801764}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "If ClientServer Type",
+                                                "toolTip": "A Client that also hosts and is the authority of the session",
+                                                "DisplayGroup": {
+                                                    "Value": 1609338446
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{E984C558-6373-46C1-BB35-25845B9AB98A}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "If DedicatedServer Type",
+                                                "toolTip": "A Dedicated Server which does not locally host any clients",
+                                                "DisplayGroup": {
+                                                    "Value": 1609338446
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{31E44AC3-0B25-4EC1-A68C-2A1E4BC3B50A}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "If Singleplayer",
+                                                "toolTip": "The application is in single player mode",
+                                                "DisplayGroup": {
+                                                    "Value": 1609338446
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            }
+                                        ],
+                                        "slotExecutionMap": {
+                                            "ins": [
+                                                {
+                                                    "_slotId": {
+                                                        "m_id": "{5755CE76-633D-4023-BBF3-38ADFD23374F}"
+                                                    },
+                                                    "_outs": [
+                                                        {
+                                                            "_slotId": {
+                                                                "m_id": "{59C00F05-5537-4398-B3AB-9D89C727BF8F}"
+                                                            },
+                                                            "_name": "If Client Type"
+                                                        },
+                                                        {
+                                                            "_slotId": {
+                                                                "m_id": "{F0C307F2-ABED-41FD-B876-6E7DE8801764}"
+                                                            },
+                                                            "_name": "If ClientServer Type"
+                                                        },
+                                                        {
+                                                            "_slotId": {
+                                                                "m_id": "{E984C558-6373-46C1-BB35-25845B9AB98A}"
+                                                            },
+                                                            "_name": "If DedicatedServer Type"
+                                                        },
+                                                        {
+                                                            "_slotId": {
+                                                                "m_id": "{31E44AC3-0B25-4EC1-A68C-2A1E4BC3B50A}"
+                                                            },
+                                                            "_name": "If Singleplayer"
+                                                        }
+                                                    ]
+                                                }
+                                            ]
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 432996957564293
+                                },
+                                "Name": "SC-Node(ScriptCanvas_Vector3Functions_DistanceSquared)",
+                                "Components": {
+                                    "Component_[13415102201800543235]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 13415102201800543235,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{E96E3235-AF99-408A-8F51-72B936FE5DB4}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "A",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{68D89725-253F-474D-B3C9-25D1631267E8}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "B",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{B833E0FA-B02A-4A39-A05F-2BBCBEF7AB6C}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{77A33533-578F-4804-9FB8-FE2E0F9A592C}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{73F43A86-F6E7-4C23-97B5-736FA1CAD12A}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Number",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 8
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "Vector3",
+                                                "value": [
+                                                    0.0,
+                                                    0.0,
+                                                    0.0
+                                                ],
+                                                "label": "A"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 8
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "Vector3",
+                                                "value": [
+                                                    0.0,
+                                                    0.0,
+                                                    0.0
+                                                ],
+                                                "label": "B"
+                                            }
+                                        ],
+                                        "methodType": 1,
+                                        "methodName": "ScriptCanvas_Vector3Functions_DistanceSquared",
+                                        "resultSlotIDs": [
+                                            {}
+                                        ],
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{E96E3235-AF99-408A-8F51-72B936FE5DB4}"
+                                            },
+                                            {
+                                                "m_id": "{68D89725-253F-474D-B3C9-25D1631267E8}"
+                                            }
+                                        ],
+                                        "prettyClassName": "ScriptCanvas_Vector3Functions_DistanceSquared"
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 432992662596997
+                                },
+                                "Name": "SC-Node(Less)",
+                                "Components": {
+                                    "Component_[14121005606859623336]": {
+                                        "$type": "Less",
+                                        "Id": 14121005606859623336,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{B0F338FD-4242-480E-833D-F59AC279D0EA}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Result",
+                                                "DisplayDataType": {
+                                                    "m_type": 0
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{D0531741-8981-4FBA-9506-E2D197FC7583}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "toolTip": "Signal to perform the evaluation when desired.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{7D4D13E8-1224-4B68-AE92-FA3778DCE0B8}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "True",
+                                                "toolTip": "Signaled if the result of the operation is true.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{2DA7498A-D011-4DC6-9EF2-1203429A1BE5}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "False",
+                                                "toolTip": "Signaled if the result of the operation is false.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{7E2C27F7-49B0-4DAC-BB00-3BCE64951042}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Value A",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 3545012108
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{AED65986-D7CE-463D-9FF8-9BB95D11931E}"
+                                                },
+                                                "DynamicTypeOverride": 3,
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Value B",
+                                                "DisplayDataType": {
+                                                    "m_type": 3
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DynamicGroup": {
+                                                    "Value": 3545012108
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 0.0,
+                                                "label": "Value A"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 3
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "double",
+                                                "value": 1.0,
+                                                "label": "Value B"
+                                            }
+                                        ]
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 443442318028165
+                                },
+                                "Name": "SC-Node(ExecuteTrigger)",
+                                "Components": {
+                                    "Component_[14870430290673221272]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 14870430290673221272,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{355EE8E4-7143-4145-828A-C9D590969771}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId: 0",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{0FBDA251-CDD4-4C10-8751-DDF525266B20}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "String: 1",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{A1B7282C-4791-459B-9589-C3FF5ADC2522}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{A5F26393-1748-42C4-95BA-CDF436722F5E}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "Source"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 5
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9} AZStd::string",
+                                                "value": "play_sx_int_malfunctioningshieldgenerator_explo",
+                                                "label": "Trigger Name"
+                                            }
+                                        ],
+                                        "methodType": 0,
+                                        "methodName": "ExecuteTrigger",
+                                        "className": "AudioTriggerComponentRequestBus",
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{355EE8E4-7143-4145-828A-C9D590969771}"
+                                            },
+                                            {
+                                                "m_id": "{0FBDA251-CDD4-4C10-8751-DDF525266B20}"
+                                            }
+                                        ],
+                                        "prettyClassName": "AudioTriggerComponentRequestBus"
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 432979777695109
+                                },
+                                "Name": "ReceiveScriptEvent",
+                                "Components": {
+                                    "Component_[16347365954355140928]": {
+                                        "$type": "ReceiveScriptEvent",
+                                        "Id": 16347365954355140928,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{F73E6973-99E7-4A8D-9382-A0730A7AB1DC}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Connect",
+                                                "toolTip": "Connect this event handler to the specified entity.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{0EAAA048-4571-4AAF-9ADC-7098EB864A1B}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Disconnect",
+                                                "toolTip": "Disconnect this event handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{98BE6EB9-EE2B-4DCD-86C5-5BB969A44868}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnConnected",
+                                                "toolTip": "Signaled when a connection has taken place.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{C75A835D-E5F7-46FE-B07E-05CD3D3295B4}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnDisconnected",
+                                                "toolTip": "Signaled when this event handler is disconnected.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{5FE77ECD-61B7-4C5B-B01C-8BECE1456D1A}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "OnFailure",
+                                                "toolTip": "Signaled when it is not possible to connect this handler.",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{E3017E3B-E466-4210-B10C-D2C4DA7ABEA4}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Location",
+                                                "toolTip": "Location",
+                                                "DisplayDataType": {
+                                                    "m_type": 8
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{B5CA99B4-A0B1-4ECD-82D5-A02F69F78220}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "ExecutionSlot:GeneratorExplosion",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                },
+                                                "IsLatent": true
+                                            }
+                                        ],
+                                        "m_version": 1,
+                                        "m_eventMap": [
+                                            {
+                                                "Key": {
+                                                    "Value": 1410767622
+                                                },
+                                                "Value": {
+                                                    "m_scriptEventAssetId": {
+                                                        "guid": "{55C86214-34FE-51F9-A8EC-4FA23C7CE888}"
+                                                    },
+                                                    "m_eventName": "GeneratorExplosion",
+                                                    "m_eventSlotId": {
+                                                        "m_id": "{B5CA99B4-A0B1-4ECD-82D5-A02F69F78220}"
+                                                    },
+                                                    "m_parameterSlotIds": [
+                                                        {
+                                                            "m_id": "{E3017E3B-E466-4210-B10C-D2C4DA7ABEA4}"
+                                                        }
+                                                    ],
+                                                    "m_numExpectedArguments": 1
+                                                }
+                                            }
+                                        ],
+                                        "m_eventSlotMapping": {
+                                            "{2703BF1A-78D3-4D3C-A85C-E999CAE22385}": {
+                                                "m_id": "{E3017E3B-E466-4210-B10C-D2C4DA7ABEA4}"
+                                            },
+                                            "{EA552A3B-5BA5-49AD-BD47-950CE3C07935}": {
+                                                "m_id": "{B5CA99B4-A0B1-4ECD-82D5-A02F69F78220}"
+                                            }
+                                        },
+                                        "m_scriptEventAssetId": {
+                                            "guid": "{55C86214-34FE-51F9-A8EC-4FA23C7CE888}"
+                                        },
+                                        "m_asset": {
+                                            "assetId": {
+                                                "guid": "{55C86214-34FE-51F9-A8EC-4FA23C7CE888}"
+                                            },
+                                            "loadBehavior": "PreLoad",
+                                            "assetHint": "scripts/shieldgenerator.scriptevents"
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 432971187760517
+                                },
+                                "Name": "SC-Node(GetWorldTranslation)",
+                                "Components": {
+                                    "Component_[17015772452413767488]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 17015772452413767488,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{E348454A-B459-461B-8279-D840D774E634}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{CDB3742D-8D12-40F1-9F6D-19ACC3A5497C}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{45435EDE-D959-4EF7-98BE-4D84BF113DB2}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{BD77B1AF-72FE-49E5-9E1F-092B85E73970}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Vector3",
+                                                "DisplayDataType": {
+                                                    "m_type": 8
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "EntityId"
+                                            }
+                                        ],
+                                        "methodType": 0,
+                                        "methodName": "GetWorldTranslation",
+                                        "className": "TransformBus",
+                                        "resultSlotIDs": [
+                                            {}
+                                        ],
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{E348454A-B459-461B-8279-D840D774E634}"
+                                            }
+                                        ],
+                                        "prettyClassName": "TransformBus"
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 441084380982661
+                                },
+                                "Name": "SC-Node(Restart)",
+                                "Components": {
+                                    "Component_[5865260186529672349]": {
+                                        "$type": "{E42861BD-1956-45AE-8DD7-CCFC1E3E5ACF} Method",
+                                        "Id": 5865260186529672349,
+                                        "Slots": [
+                                            {
+                                                "id": {
+                                                    "m_id": "{854FF742-6564-4999-95B4-2E969323057B}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "EntityId: 0",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{542D9B54-6B18-499B-88D1-0C184756A802}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Boolean: 1",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{4D27287F-10E6-432F-81C6-B91D9BE1BD8D}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "In",
+                                                "Descriptor": {
+                                                    "ConnectionType": 1,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{E47E43D7-C289-44DE-9148-8A68227785B3}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Out",
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 1
+                                                }
+                                            },
+                                            {
+                                                "id": {
+                                                    "m_id": "{F3D91E31-BAAA-4319-BB83-624390ADDD94}"
+                                                },
+                                                "contracts": [
+                                                    {
+                                                        "$type": "SlotTypeContract"
+                                                    }
+                                                ],
+                                                "slotName": "Boolean",
+                                                "DisplayDataType": {
+                                                    "m_type": 0
+                                                },
+                                                "Descriptor": {
+                                                    "ConnectionType": 2,
+                                                    "SlotType": 2
+                                                },
+                                                "DataType": 1
+                                            }
+                                        ],
+                                        "Datums": [
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 1
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "EntityId",
+                                                "value": {
+                                                    "id": 2901262558
+                                                },
+                                                "label": "Source"
+                                            },
+                                            {
+                                                "isOverloadedStorage": false,
+                                                "scriptCanvasType": {
+                                                    "m_type": 0
+                                                },
+                                                "isNullPointer": false,
+                                                "$type": "bool",
+                                                "value": true,
+                                                "label": "Boolean: 1"
+                                            }
+                                        ],
+                                        "methodType": 0,
+                                        "methodName": "Restart",
+                                        "className": "PopcornFXEmitterComponentRequestBus",
+                                        "inputSlots": [
+                                            {
+                                                "m_id": "{854FF742-6564-4999-95B4-2E969323057B}"
+                                            },
+                                            {
+                                                "m_id": "{542D9B54-6B18-499B-88D1-0C184756A802}"
+                                            }
+                                        ],
+                                        "prettyClassName": "PopcornFXEmitterComponentRequestBus"
+                                    }
+                                }
+                            }
+                        ],
+                        "m_connections": [
+                            {
+                                "Id": {
+                                    "id": 433022727368069
+                                },
+                                "Name": "srcEndpoint=(Receive Script Event: ExecutionSlot:GeneratorExplosion), destEndpoint=(GetWorldTranslation: In)",
+                                "Components": {
+                                    "Component_[10336876336224942308]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 10336876336224942308,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 432979777695109
+                                            },
+                                            "slotId": {
+                                                "m_id": "{B5CA99B4-A0B1-4ECD-82D5-A02F69F78220}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 432971187760517
+                                            },
+                                            "slotId": {
+                                                "m_id": "{CDB3742D-8D12-40F1-9F6D-19ACC3A5497C}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 433027022335365
+                                },
+                                "Name": "srcEndpoint=(GetWorldTranslation: Out), destEndpoint=(ScriptCanvas_Vector3Functions_DistanceSquared: In)",
+                                "Components": {
+                                    "Component_[9778286523627594330]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 9778286523627594330,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 432971187760517
+                                            },
+                                            "slotId": {
+                                                "m_id": "{45435EDE-D959-4EF7-98BE-4D84BF113DB2}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 432996957564293
+                                            },
+                                            "slotId": {
+                                                "m_id": "{B833E0FA-B02A-4A39-A05F-2BBCBEF7AB6C}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 433031317302661
+                                },
+                                "Name": "srcEndpoint=(GetWorldTranslation: Vector3), destEndpoint=(ScriptCanvas_Vector3Functions_DistanceSquared: A)",
+                                "Components": {
+                                    "Component_[8985527312898450161]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 8985527312898450161,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 432971187760517
+                                            },
+                                            "slotId": {
+                                                "m_id": "{BD77B1AF-72FE-49E5-9E1F-092B85E73970}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 432996957564293
+                                            },
+                                            "slotId": {
+                                                "m_id": "{E96E3235-AF99-408A-8F51-72B936FE5DB4}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 433035612269957
+                                },
+                                "Name": "srcEndpoint=(Receive Script Event: Location), destEndpoint=(ScriptCanvas_Vector3Functions_DistanceSquared: B)",
+                                "Components": {
+                                    "Component_[12987667558816882595]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 12987667558816882595,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 432979777695109
+                                            },
+                                            "slotId": {
+                                                "m_id": "{E3017E3B-E466-4210-B10C-D2C4DA7ABEA4}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 432996957564293
+                                            },
+                                            "slotId": {
+                                                "m_id": "{68D89725-253F-474D-B3C9-25D1631267E8}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 433039907237253
+                                },
+                                "Name": "srcEndpoint=(ScriptCanvas_Vector3Functions_DistanceSquared: Out), destEndpoint=(Less Than (<): In)",
+                                "Components": {
+                                    "Component_[9805695660738253465]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 9805695660738253465,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 432996957564293
+                                            },
+                                            "slotId": {
+                                                "m_id": "{77A33533-578F-4804-9FB8-FE2E0F9A592C}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 432992662596997
+                                            },
+                                            "slotId": {
+                                                "m_id": "{D0531741-8981-4FBA-9506-E2D197FC7583}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 433044202204549
+                                },
+                                "Name": "srcEndpoint=(ScriptCanvas_Vector3Functions_DistanceSquared: Number), destEndpoint=(Less Than (<): Value A)",
+                                "Components": {
+                                    "Component_[10924651404305149768]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 10924651404305149768,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 432996957564293
+                                            },
+                                            "slotId": {
+                                                "m_id": "{73F43A86-F6E7-4C23-97B5-736FA1CAD12A}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 432992662596997
+                                            },
+                                            "slotId": {
+                                                "m_id": "{7E2C27F7-49B0-4DAC-BB00-3BCE64951042}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 433048497171845
+                                },
+                                "Name": "srcEndpoint=(Less Than (<): True), destEndpoint=(IfMultiplayerAgentType: In)",
+                                "Components": {
+                                    "Component_[7977467490824175045]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 7977467490824175045,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 432992662596997
+                                            },
+                                            "slotId": {
+                                                "m_id": "{7D4D13E8-1224-4B68-AE92-FA3778DCE0B8}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 433001252531589
+                                            },
+                                            "slotId": {
+                                                "m_id": "{5755CE76-633D-4023-BBF3-38ADFD23374F}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 442433000713605
+                                },
+                                "Name": "srcEndpoint=(IfMultiplayerAgentType: If Client Type), destEndpoint=(Restart: In)",
+                                "Components": {
+                                    "Component_[3226267425924963996]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 3226267425924963996,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 433001252531589
+                                            },
+                                            "slotId": {
+                                                "m_id": "{59C00F05-5537-4398-B3AB-9D89C727BF8F}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 441084380982661
+                                            },
+                                            "slotId": {
+                                                "m_id": "{4D27287F-10E6-432F-81C6-B91D9BE1BD8D}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 442737943391621
+                                },
+                                "Name": "srcEndpoint=(IfMultiplayerAgentType: If ClientServer Type), destEndpoint=(Restart: In)",
+                                "Components": {
+                                    "Component_[5596634913077349914]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 5596634913077349914,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 433001252531589
+                                            },
+                                            "slotId": {
+                                                "m_id": "{F0C307F2-ABED-41FD-B876-6E7DE8801764}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 441084380982661
+                                            },
+                                            "slotId": {
+                                                "m_id": "{4D27287F-10E6-432F-81C6-B91D9BE1BD8D}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 443141670317445
+                                },
+                                "Name": "srcEndpoint=(IfMultiplayerAgentType: If Singleplayer), destEndpoint=(Restart: In)",
+                                "Components": {
+                                    "Component_[15630289095997495101]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 15630289095997495101,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 433001252531589
+                                            },
+                                            "slotId": {
+                                                "m_id": "{31E44AC3-0B25-4EC1-A68C-2A1E4BC3B50A}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 441084380982661
+                                            },
+                                            "slotId": {
+                                                "m_id": "{4D27287F-10E6-432F-81C6-B91D9BE1BD8D}"
+                                            }
+                                        }
+                                    }
+                                }
+                            },
+                            {
+                                "Id": {
+                                    "id": 444812412595589
+                                },
+                                "Name": "srcEndpoint=(Restart: Out), destEndpoint=(ExecuteTrigger: In)",
+                                "Components": {
+                                    "Component_[6996858507364633534]": {
+                                        "$type": "{64CA5016-E803-4AC4-9A36-BDA2C890C6EB} Connection",
+                                        "Id": 6996858507364633534,
+                                        "sourceEndpoint": {
+                                            "nodeId": {
+                                                "id": 441084380982661
+                                            },
+                                            "slotId": {
+                                                "m_id": "{E47E43D7-C289-44DE-9148-8A68227785B3}"
+                                            }
+                                        },
+                                        "targetEndpoint": {
+                                            "nodeId": {
+                                                "id": 443442318028165
+                                            },
+                                            "slotId": {
+                                                "m_id": "{A1B7282C-4791-459B-9589-C3FF5ADC2522}"
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        ],
+                        "m_scriptEventAssets": [
+                            [
+                                {
+                                    "id": 432979777695109
+                                },
+                                {}
+                            ]
+                        ]
+                    },
+                    "versionData": {
+                        "_grammarVersion": 1,
+                        "_runtimeVersion": 1,
+                        "_fileVersion": 1
+                    },
+                    "GraphCanvasData": [
+                        {
+                            "Key": {
+                                "id": 432966892793221
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{5F84B500-8C45-40D1-8EFC-A5306B241444}": {
+                                        "$type": "SceneComponentSaveData",
+                                        "ViewParams": {
+                                            "Scale": 1.0974549598413794,
+                                            "AnchorX": 2027.4180908203125,
+                                            "AnchorY": 662.4417724609375
+                                        }
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 432971187760517
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            1120.0,
+                                            880.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{D33AD1B5-9DFD-44CD-A9C2-29DAB5FBE303}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 432979777695109
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            820.0,
+                                            880.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{12339A6B-067C-4D5E-8A4C-86DE6C156D37}"
+                                    },
+                                    "{D8BBE799-7E4D-495A-B69A-1E3940670891}": {
+                                        "$type": "ScriptEventReceiverHandlerNodeDescriptorSaveData",
+                                        "EventNames": [
+                                            [
+                                                {
+                                                    "Value": 1410767622
+                                                },
+                                                "GeneratorExplosion"
+                                            ]
+                                        ]
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 432992662596997
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MathNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            1860.0,
+                                            880.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{1802D242-4B9E-4338-B148-902554539B1E}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 432996957564293
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            1560.0,
+                                            880.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{B300CBAD-BBC5-47EA-9233-4DEDF961BE58}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 433001252531589
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "DefaultNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            2160.0,
+                                            880.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{4E0ECD12-8F40-4861-8B7D-62E12E08ACEB}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 441084380982661
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            2460.0,
+                                            880.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{DDF17637-03A3-43E3-BD1D-051030A8E1C9}"
+                                    }
+                                }
+                            }
+                        },
+                        {
+                            "Key": {
+                                "id": 443442318028165
+                            },
+                            "Value": {
+                                "ComponentData": {
+                                    "{24CB38BB-1705-4EC5-8F63-B574571B4DCD}": {
+                                        "$type": "NodeSaveData"
+                                    },
+                                    "{328FF15C-C302-458F-A43D-E1794DE0904E}": {
+                                        "$type": "GeneralNodeTitleComponentSaveData",
+                                        "PaletteOverride": "MethodNodeTitlePalette"
+                                    },
+                                    "{7CC444B1-F9B3-41B5-841B-0C4F2179F111}": {
+                                        "$type": "GeometrySaveData",
+                                        "Position": [
+                                            2900.0,
+                                            880.0
+                                        ]
+                                    },
+                                    "{B0B99C8A-03AF-4CF6-A926-F65C874C3D97}": {
+                                        "$type": "StylingComponentSaveData",
+                                        "SubStyle": ".method"
+                                    },
+                                    "{B1F49A35-8408-40DA-B79E-F1E3B64322CE}": {
+                                        "$type": "PersistentIdComponentSaveData",
+                                        "PersistentId": "{84C38C1E-4228-4E48-93C4-2AFF10E23DFA}"
+                                    }
+                                }
+                            }
+                        }
+                    ],
+                    "StatisticsHelper": {
+                        "InstanceCounter": [
+                            {
+                                "Key": 1678857243118888947,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 3765469619007655124,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 10109844133468862666,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 11000802260220917925,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 13774516453006207282,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 13774516556399355685,
+                                "Value": 1
+                            },
+                            {
+                                "Key": 13774516556690904209,
+                                "Value": 1
+                            }
+                        ]
+                    }
+                }
+            }
+        }
+    }
+}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 297 - 586
scriptcanvas/ShieldGeneratorRoundEffects.scriptcanvas


+ 225 - 0
scripts/ShieldGenerator.scriptevents

@@ -0,0 +1,225 @@
+<ObjectStream version="3">
+	<Class name="ScriptEventsAsset" version="1" type="{CB4D603E-8CB0-4D80-8165-4244F28AF187}">
+		<Class name="ScriptEvent" field="m_definition" version="2" type="{10A08CD3-32C9-4E18-8039-4B8A8157918E}">
+			<Class name="unsigned int" field="m_version" value="2" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+			<Class name="VersionedProperty" field="m_name" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+				<Class name="AZ::Uuid" field="m_id" value="{439154F3-21C2-4718-8312-F350AE3E4756}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+				<Class name="AZStd::string" field="m_label" value="Name" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+				<Class name="unsigned int" field="m_version" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+				<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}">
+					<Class name="VersionedProperty" field="element" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+						<Class name="AZ::Uuid" field="m_id" value="{439154F3-21C2-4718-8312-F350AE3E4756}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						<Class name="AZStd::string" field="m_label" value="Name" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+						<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+						<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+							<Class name="AZStd::string" field="m_data" value="EventName" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						</Class>
+					</Class>
+				</Class>
+				<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+					<Class name="AZStd::string" field="m_data" value="GeneratorExplosion" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+				</Class>
+			</Class>
+			<Class name="VersionedProperty" field="m_category" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+				<Class name="AZ::Uuid" field="m_id" value="{D4A63012-C20A-457C-8D5A-E954959F8BBA}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+				<Class name="AZStd::string" field="m_label" value="Category" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+				<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+				<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+				<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+					<Class name="AZStd::string" field="m_data" value="Script Events" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+				</Class>
+			</Class>
+			<Class name="VersionedProperty" field="m_tooltip" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+				<Class name="AZ::Uuid" field="m_id" value="{B42E8437-E29B-45D2-A416-FEC8A244D2CE}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+				<Class name="AZStd::string" field="m_label" value="Tooltip" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+				<Class name="unsigned int" field="m_version" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+				<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}">
+					<Class name="VersionedProperty" field="element" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+						<Class name="AZ::Uuid" field="m_id" value="{B42E8437-E29B-45D2-A416-FEC8A244D2CE}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						<Class name="AZStd::string" field="m_label" value="Tooltip" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+						<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+						<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+							<Class name="AZStd::string" field="m_data" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						</Class>
+					</Class>
+				</Class>
+				<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+					<Class name="AZStd::string" field="m_data" value="Triggers when the generators should explode" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+				</Class>
+			</Class>
+			<Class name="VersionedProperty" field="m_addressType" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+				<Class name="AZ::Uuid" field="m_id" value="{073F8788-EE4B-4CAF-B104-A4714699A45A}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+				<Class name="AZStd::string" field="m_label" value="None" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+				<Class name="unsigned int" field="m_version" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+				<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}">
+					<Class name="VersionedProperty" field="element" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+						<Class name="AZ::Uuid" field="m_id" value="{BCA45CE9-93E3-4F4B-8E61-B42305FD9D7B}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						<Class name="AZStd::string" field="m_label" value="Address Type" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+						<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+						<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+							<Class name="AZ::Uuid" field="m_data" value="{C0F1AFAD-5CB3-450E-B0F5-ADB5D46B0E22}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						</Class>
+					</Class>
+				</Class>
+				<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+					<Class name="AZ::Uuid" field="m_data" value="{C0F1AFAD-5CB3-450E-B0F5-ADB5D46B0E22}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+				</Class>
+			</Class>
+			<Class name="AZStd::vector&lt;Method, allocator&gt;" field="m_methods" type="{D9866B79-D11A-58E6-B974-0B45783F53A4}">
+				<Class name="Method" field="element" type="{E034EA83-C798-413D-ACE8-4923C51CF4F7}">
+					<Class name="VersionedProperty" field="m_name" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+						<Class name="AZ::Uuid" field="m_id" value="{EA552A3B-5BA5-49AD-BD47-950CE3C07935}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						<Class name="AZStd::string" field="m_label" value="Name" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						<Class name="unsigned int" field="m_version" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+						<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}">
+							<Class name="VersionedProperty" field="element" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{EA552A3B-5BA5-49AD-BD47-950CE3C07935}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Name" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="MethodName" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+						</Class>
+						<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+							<Class name="AZStd::string" field="m_data" value="GeneratorExplosion" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						</Class>
+					</Class>
+					<Class name="VersionedProperty" field="m_tooltip" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+						<Class name="AZ::Uuid" field="m_id" value="{8773563F-DDA3-4C30-A3D3-4EACD93429E6}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						<Class name="AZStd::string" field="m_label" value="Tooltip" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						<Class name="unsigned int" field="m_version" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+						<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}">
+							<Class name="VersionedProperty" field="element" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{8773563F-DDA3-4C30-A3D3-4EACD93429E6}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Tooltip" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+						</Class>
+						<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+							<Class name="AZStd::string" field="m_data" value="Triggers when a generator explodes" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						</Class>
+					</Class>
+					<Class name="VersionedProperty" field="m_returnType" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+						<Class name="AZ::Uuid" field="m_id" value="{D3E9FC77-C9E8-4489-9356-683E029B16F7}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						<Class name="AZStd::string" field="m_label" value="None" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+						<Class name="unsigned int" field="m_version" value="1" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+						<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}">
+							<Class name="VersionedProperty" field="element" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{74F991A1-69AF-4BA5-AE5F-6B51950317E9}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Return Type" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZ::Uuid" field="m_data" value="{C0F1AFAD-5CB3-450E-B0F5-ADB5D46B0E22}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								</Class>
+							</Class>
+						</Class>
+						<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+							<Class name="AZ::Uuid" field="m_data" value="{C0F1AFAD-5CB3-450E-B0F5-ADB5D46B0E22}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+						</Class>
+					</Class>
+					<Class name="AZStd::vector&lt;Parameter, allocator&gt;" field="m_parameters" type="{6ED13EA7-791B-57A8-A4F1-560B5F35B472}">
+						<Class name="Parameter" field="element" type="{0DA4809B-08A6-49DC-9024-F81645D97FAC}">
+							<Class name="VersionedProperty" field="m_name" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{2703BF1A-78D3-4D3C-A85C-E999CAE22385}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Name" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="Location" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+							<Class name="VersionedProperty" field="m_tooltip" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{60AB1144-911A-48D7-84D4-2DDF38A9E0CF}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Tooltip" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="Location" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+							<Class name="VersionedProperty" field="m_type" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{46A6A963-0E29-47F8-9729-15465D5CE331}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Vector3" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZ::Uuid" field="m_data" value="{8379EB7D-01FA-4538-B64B-A6543B4BE73D}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								</Class>
+							</Class>
+						</Class>
+						<Class name="Parameter" field="element" type="{0DA4809B-08A6-49DC-9024-F81645D97FAC}">
+							<Class name="VersionedProperty" field="m_name" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{1143C37B-87C1-4C02-8166-52A008980B5A}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Name" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="DamageDistance" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+							<Class name="VersionedProperty" field="m_tooltip" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{5AEF5367-29CA-4D37-8B0B-2D8B3873B070}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Tooltip" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="DamageDistance" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+							<Class name="VersionedProperty" field="m_type" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{387125F4-39E3-47FF-8FFF-36E2734B73D1}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Number" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZ::Uuid" field="m_data" value="{110C4B14-11A8-4E9D-8638-5051013A56AC}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								</Class>
+							</Class>
+						</Class>
+						<Class name="Parameter" field="element" type="{0DA4809B-08A6-49DC-9024-F81645D97FAC}">
+							<Class name="VersionedProperty" field="m_name" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{F50F1027-6958-49D1-B951-CF9B0800DBAB}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Name" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="DamageMagnitude" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+							<Class name="VersionedProperty" field="m_tooltip" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{152A0354-FF38-4EDE-9236-A009557196DC}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Tooltip" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZStd::string" field="m_data" value="DamageMagnitude" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								</Class>
+							</Class>
+							<Class name="VersionedProperty" field="m_type" version="4" type="{828CA9C0-32F1-40B3-8018-EE7C3C38192A}">
+								<Class name="AZ::Uuid" field="m_id" value="{387125F4-39E3-47FF-8FFF-36E2734B73D1}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								<Class name="AZStd::string" field="m_label" value="Number" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+								<Class name="unsigned int" field="m_version" value="0" type="{43DA906B-7DEF-4CA8-9790-854106D3F983}"/>
+								<Class name="AZStd::vector&lt;VersionedProperty, allocator&gt;" field="m_versions" type="{326CAAFE-9101-56E2-B869-D770629A6B19}"/>
+								<Class name="AZStd::any" field="m_data" type="{03924488-C7F4-4D6D-948B-ABC2D1AE2FD3}">
+									<Class name="AZ::Uuid" field="m_data" value="{110C4B14-11A8-4E9D-8638-5051013A56AC}" type="{E152C105-A133-4D03-BBF8-3D4B2FBA3E2A}"/>
+								</Class>
+							</Class>
+						</Class>
+					</Class>
+				</Class>
+			</Class>
+			<Class name="AZStd::string" field="scriptCanvasSerializedData" value="" type="{03AAAB3F-5C47-5A66-9EBC-D5FA4DB353C9}"/>
+		</Class>
+	</Class>
+</ObjectStream>
+

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác