UGameplayTagReponseTable

A data driven table for applying gameplay effects based on tag count.

Choose your operating system:

Windows

macOS

Linux

Inheritance Hierarchy

References

Module

GameplayAbilities

Header

/Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/GameplayTagResponseTable.h

Include

#include "GameplayTagResponseTable.h"

Syntax

UCLASS()
class UGameplayTagReponseTable : public UDataAsset

Remarks

A data driven table for applying gameplay effects based on tag count. This allows designers to map a "tag count" -> "response Gameplay Effect" relationship.

For example, "for every count of "Status.Haste" I get 1 level of GE_Response_Haste. This class facilitates building this table and automatically registering and responding to tag events on the ability system component.

Variables

Name Description

Public variable UProperty Category, EditAnywhere

TArray< FGamepl...

 

Entries

Protected variable

float

 

LastASCPurgeTime

Protected variable

FGameplayEffect...

 

Query

Temporary structs to avoid extra heap allocations every time we recalculate tag count

Protected variable

TMap< TWeakObje...

 

RegisteredASCs

Constructors

Name Description

Public function

UGameplayTagReponseTable

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Protected function

void

 

AddOrUpdate

(
    UAbilitySystemComponent* ASC,
    const TArray< TSubclassOf< UGamepla...,
    int32 TotalCount,
    TArray< FActiveGameplayEffectHandle...
)

Protected function Const

int32

 

GetCount

(
    const FGameplayTagReponsePair& Pai...,
    UAbilitySystemComponent* ASC
)

Protected function Const

FGameplayEff...

 

MakeQuery

(
    const FGameplayTag& Tag
)

Public function

void

 

RegisterResponseForEvents

(
    UAbilitySystemComponent* ASC
)

Registers for tag events for the given ability system component.

Protected function

void

 

Remove

Protected function UFunction

void

 

TagResponseEvent

(
    const FGameplayTag Tag,
    int32 NewCount,
    UAbilitySystemComponent* ASC,
    int32 idx
)

Overridden from UObject

Name Description

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Classes