if (AbilityData.InputTag != FGameplayTag::EmptyTag)
{
TryActivateAbilitiesByInputTag(AbilityData.InputTag, AbilityData.ActionInput, false);
}
but AbilityData is cleaned by
GMCAbilityComponent.cpp:500
AbilityData = FGMCAbilityData{};
Meaning that AbilityData will always be empty, no matter what happen.
I'm afraid if we move the clean of FGMCAbilityData AbilityData, we will break replay move for abilities.
Suggestion :
Duplicate FGMCAbilityData, in another struct on the pop time, so AncillaryTick has his own copy of the current AbilityTask, and he can clean it himself.
So, the idea for the pop wasn't good.
However, simply copy the FGMCAbilityData into GenPred before the reset, to another struct specially for AncilarityTick work well.
In commit : https://github.com/reznok/GMCAbilitySystem/commit/c183164495dfa8e3b06470d654a8bcd9d4568283
GMCAbilityComponent.cpp:172
but AbilityData is cleaned by
GMCAbilityComponent.cpp:500
Meaning that AbilityData will always be empty, no matter what happen. I'm afraid if we move the clean of
FGMCAbilityData AbilityData
, we will break replay move for abilities.Suggestion : Duplicate FGMCAbilityData, in another struct on the pop time, so AncillaryTick has his own copy of the current AbilityTask, and he can clean it himself.