// Returns all tags related to this ability
UFUNCTION(BlueprintPure, Category="GAS|Ability|Tags")
void GetTags(FGameplayTagContainer & OutAbilityTags, FGameplayTagContainer & OutCancelAbilitiesWithTags, FGameplayTagContainer & OutBlockAbilitiesWithTags, FGameplayTagContainer & OutActivationOwnedTags, FGameplayTagContainer & OutActivationRequiredTags, FGameplayTagContainer & OutActivationBlockedTags, FGameplayTagContainer & OutSourceRequiredTags, FGameplayTagContainer & OutSourceBlockedTags, FGameplayTagContainer & OutTargetRequiredTags, FGameplayTagContainer & OutTargetBlockedTags, FGameplayTagContainer & OutCooldownTags);
(Set UGAAbilityBase
to your child class of a UGameplayAbility
)
void UGAAbilityBase::GetTags(FGameplayTagContainer& OutAbilityTags, FGameplayTagContainer& OutCancelAbilitiesWithTags,
FGameplayTagContainer& OutBlockAbilitiesWithTags, FGameplayTagContainer& OutActivationOwnedTags,
FGameplayTagContainer& OutActivationRequiredTags, FGameplayTagContainer& OutActivationBlockedTags,
FGameplayTagContainer& OutSourceRequiredTags, FGameplayTagContainer& OutSourceBlockedTags,
FGameplayTagContainer& OutTargetRequiredTags, FGameplayTagContainer& OutTargetBlockedTags, FGameplayTagContainer&
OutCooldownTags)
{
OutAbilityTags = this->AbilityTags;
OutCancelAbilitiesWithTags = this->CancelAbilitiesWithTag;
OutBlockAbilitiesWithTags = this->BlockAbilitiesWithTag;
OutActivationOwnedTags = this->ActivationOwnedTags;
OutActivationRequiredTags = this->ActivationRequiredTags;
OutActivationBlockedTags = this->ActivationBlockedTags;
OutSourceRequiredTags = this->SourceRequiredTags;
OutSourceBlockedTags = this->SourceBlockedTags;
OutTargetRequiredTags = this->TargetRequiredTags;
OutTargetBlockedTags = this->TargetBlockedTags;
if (!IsValid(CooldownGameplayEffectClass))
{
OutCooldownTags = FGameplayTagContainer();
} else
{
OutCooldownTags = GetCooldownGameplayEffect()->GetGrantedTags();
}
}