Navigation
API > API/Plugins > API/Plugins/GameplayAbilities
Struct that tracks the number/count of tag applications within it. Explicitly tracks the tags added or removed, while simultaneously tracking the count of parent tags as well. Events/delegates are fired whenever the tag counts of any tag (explicit or parent) are modified.
| Name | FGameplayTagCountContainer |
| Type | struct |
| Header File | /Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/GameplayEffectTypes.h |
| Include Path | #include "GameplayEffectTypes.h" |
Syntax
USTRUCT ()
struct FGameplayTagCountContainer
Structs
| Name | Remarks |
|---|---|
| FDelegateInfo |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ExplicitTags | FGameplayTagContainer | Container of tags that were explicitly added | GameplayEffectTypes.h | |
| FNetGameplayTagCountContainerStateForNetSerialize | friend | GameplayEffectTypes.h | ||
| GameplayTagCountMap | TMap< FGameplayTag, int32 > | Map of tag to active count of that tag | GameplayEffectTypes.h | |
| GameplayTagEventMap | TMap< FGameplayTag, FDelegateInfo > | Map of tag to delegate that will be fired when the count for the key tag changes to or away from zero | GameplayEffectTypes.h | |
| Items | TArray< FGameplayTagCountItem > | Array of explicit tags and their count | GameplayEffectTypes.h | |
| OnAnyTagChangeDelegate | FOnGameplayEffectTagCountChanged | Delegate fired whenever any tag's count changes to or away from zero | GameplayEffectTypes.h | |
| Owner | TObjectPtr< class UAbilitySystemComponent > | We want to track the owner for the container so that we can give valuable logging about tag replication mismatches. | GameplayEffectTypes.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void FillParentTags() |
Fills in ParentTags from GameplayTags | GameplayEffectTypes.h | |
const FGameplayTagContainer & GetExplicitGameplayTags() |
Simple accessor to the explicit gameplay tag list | GameplayEffectTypes.h | |
int32 GetExplicitTagCount
(
const FGameplayTag& Tag |
Return how many times the exact specified tag has been added to the container (ignores the tag hierarchy) e.g. if A.B & A.C were added, GetExplicitTagCount("A") would return 0, and GetExplicitTagCount("A.B") would return 1. | GameplayEffectTypes.h | |
int32 GetTagCount
(
const FGameplayTag& Tag |
Return the hierarchical count for a specified tag e.g. if A.B & A.C were added, GetTagCount("A") would return 2. | GameplayEffectTypes.h | |
bool HasAllMatchingGameplayTags
(
const FGameplayTagContainer& TagContainer |
Check if the count container has gameplay tags that matches against all of the specified tags (expands to include parents of asset tags) | GameplayEffectTypes.h | |
bool HasAnyMatchingGameplayTags
(
const FGameplayTagContainer& TagContainer |
Check if the count container has gameplay tags that matches against any of the specified tags (expands to include parents of asset tags) | GameplayEffectTypes.h | |
bool HasMatchingGameplayTag
(
FGameplayTag TagToCheck |
Check if the count container has a gameplay tag that matches against the specified tag (expands to include parents of asset tags) | GameplayEffectTypes.h | |
bool NetDeltaSerialize
(
FNetDeltaSerializeInfo& DeltaParams |
GameplayEffectTypes.h | ||
void Notify_StackCountChange
(
const FGameplayTag& Tag |
Broadcasts the AnyChange event for this tag. | GameplayEffectTypes.h | |
FOnGameplayEffectTagCountChanged & RegisterGameplayTagEvent
(
const FGameplayTag& Tag, |
Return delegate that can be bound to for when the specific tag's count changes to or off of zero | GameplayEffectTypes.h | |
FOnGameplayEffectTagCountChanged & RegisterGenericGameplayEvent() |
Return delegate that can be bound to for when the any tag's count changes to or off of zero | GameplayEffectTypes.h | |
void Reset
(
bool bResetCallbacks |
Removes all of the tags. Does not notify any delegates. | GameplayEffectTypes.h | |
void SetOwner
(
UAbilitySystemComponent* ASC |
GameplayEffectTypes.h | ||
bool SetTagCount
(
const FGameplayTag& Tag, |
Set the specified tag count to a specific value | GameplayEffectTypes.h | |
void UpdateTagCount
(
const FGameplayTagContainer& Container, |
Update the specified container of tags by the specified delta, potentially causing an additional or removal from the explicit tag list | GameplayEffectTypes.h | |
bool UpdateTagCount
(
const FGameplayTag& Tag, |
Update the specified tag by the specified delta, potentially causing an additional or removal from the explicit tag list | GameplayEffectTypes.h | |
bool UpdateTagCount_DeferredParentRemoval
(
const FGameplayTag& Tag, |
Update the specified tag by the specified delta, potentially causing an additional or removal from the explicit tag list. | GameplayEffectTypes.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool operator==
(
const FGameplayTagCountContainer& Other |
GameplayEffectTypes.h |