From 469aab67d332af4cb7468e625ed93adb4cd2c671 Mon Sep 17 00:00:00 2001 From: Arnaud Jamin Date: Wed, 8 Jan 2025 16:21:05 -0500 Subject: [PATCH] CogSample: Fix warning and abilities not receiving input release --- Source/CogSample/CogSampleCharacter.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Source/CogSample/CogSampleCharacter.cpp b/Source/CogSample/CogSampleCharacter.cpp index b72b622..b115b36 100644 --- a/Source/CogSample/CogSampleCharacter.cpp +++ b/Source/CogSample/CogSampleCharacter.cpp @@ -403,6 +403,12 @@ void ACogSampleCharacter::OnAbilityInputStarted(const FInputActionValue& Value, Spec->InputPressed = true; + UGameplayAbility* Ability = Spec->GetPrimaryInstance(); + if (Ability == nullptr) + { + return; + } + //----------------------------------------------------- // Replicate button press if ability is already active //----------------------------------------------------- @@ -414,7 +420,7 @@ void ACogSampleCharacter::OnAbilityInputStarted(const FInputActionValue& Value, AbilitySystem->ServerSetInputPressed(Spec->Handle); } AbilitySystem->AbilitySpecInputPressed(*Spec); - AbilitySystem->InvokeReplicatedEvent(EAbilityGenericReplicatedEvent::InputPressed, Spec->Handle, Spec->ActivationInfo.GetActivationPredictionKey()); + AbilitySystem->InvokeReplicatedEvent(EAbilityGenericReplicatedEvent::InputPressed, Spec->Handle, Ability->GetCurrentActivationInfo().GetActivationPredictionKey()); } else { @@ -441,7 +447,7 @@ void ACogSampleCharacter::OnAbilityInputCompleted(const FInputActionValue& Value Spec->InputPressed = false; - UGameplayAbility* Ability= Spec->GetPrimaryInstance(); + UGameplayAbility* Ability = Spec->GetPrimaryInstance(); if (Ability == nullptr) { return; @@ -458,7 +464,7 @@ void ACogSampleCharacter::OnAbilityInputCompleted(const FInputActionValue& Value } AbilitySystem->AbilitySpecInputReleased(*Spec); - AbilitySystem->InvokeReplicatedEvent(EAbilityGenericReplicatedEvent::InputReleased, Spec->Handle, Spec->ActivationInfo.GetActivationPredictionKey()); + AbilitySystem->InvokeReplicatedEvent(EAbilityGenericReplicatedEvent::InputReleased, Spec->Handle, Ability->GetCurrentActivationInfo().GetActivationPredictionKey()); } //--------------------------------------------------------------------------------------------------------------------------