Browse Source

Makes shift toggle sprint state, rather than requiring shift to be held to sprint

Signed-off-by: kberg-amzn <[email protected]>
kberg-amzn 2 years ago
parent
commit
c19b6628c8

+ 7 - 5
Gem/Code/Source/Components/NetworkPlayerMovementComponent.cpp

@@ -137,6 +137,12 @@ namespace MultiplayerSample
         // Inputs for your own component always exist
         NetworkPlayerMovementComponentNetworkInput* playerInput = input.FindComponentInput<NetworkPlayerMovementComponentNetworkInput>();
 
+        if (m_toggleSprint)
+        {
+            m_sprinting = !m_sprinting;
+            m_toggleSprint = false;
+        }
+
         // Check current game-play state
         INetworkMatch* networkMatchComponent = AZ::Interface<INetworkMatch>::Get();
         if (networkMatchComponent && (networkMatchComponent->PlayerActionsAllowed() != AllowedPlayerActions::None))
@@ -542,7 +548,7 @@ namespace MultiplayerSample
         }
         else if (*inputId == SprintEventId)
         {
-            m_sprinting = true;
+            m_toggleSprint = true;
         }
         else if (*inputId == JumpEventId)
         {
@@ -589,10 +595,6 @@ namespace MultiplayerSample
         {
             m_rightDown = false;
         }
-        else if (*inputId == SprintEventId)
-        {
-            m_sprinting = false;
-        }
         else if (*inputId == JumpEventId)
         {
             m_jumping = false;

+ 2 - 0
Gem/Code/Source/Components/NetworkPlayerMovementComponent.h

@@ -101,6 +101,8 @@ namespace MultiplayerSample
         float m_viewYaw = 0.0f;
         float m_viewPitch = 0.0f;
 
+        bool m_toggleSprint = false;
+
         bool m_forwardDown = false;
         bool m_leftDown = false;
         bool m_backwardDown = false;