Navigation
API > API/Plugins > API/Plugins/GameplayAbilities
Associative container of GameplayAbilitySpecs + PredictionKeys --> FAbilityReplicatedDataCache. Basically, it holds replicated data on the ability system component that abilities access in their scripting. This was refactored from a normal TMap. This mainly serves to:
Return shared ptrs to the cached data so that callsites are not vulnerable to the underlying map shifting around (E.g invoking a replicated event ends the ability or activates a new one and causes memory to move, invalidating the pointer).
Data is cleared on ability end via Remove.
The FAbilityReplicatedDataCache instances are recycled rather than allocated each time via FreeData.
| Name | FGameplayAbilityReplicatedDataContainer |
| Type | struct |
| Header File | /Engine/Plugins/Runtime/GameplayAbilities/Source/GameplayAbilities/Public/Abilities/GameplayAbilityTypes.h |
| Include Path | #include "Abilities/GameplayAbilityTypes.h" |
Syntax
struct FGameplayAbilityReplicatedDataContainer
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FKeyDataPair | TPair< FGameplayAbilitySpecHandleAndPredictionKey, TSharedRef< FAbilityReplicatedDataCache > > | Abilities/GameplayAbilityTypes.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| FreeData | TArray< TSharedRef< FAbilityReplicatedDataCache > > | Abilities/GameplayAbilityTypes.h | ||
| InUseData | TArray< FKeyDataPair > | Abilities/GameplayAbilityTypes.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TSharedPtr< FAbilityReplicatedDataCache > Find
(
const FGameplayAbilitySpecHandleAndPredictionKey& Key |
Abilities/GameplayAbilityTypes.h | ||
TSharedRef< FAbilityReplicatedDataCache > FindOrAdd
(
const FGameplayAbilitySpecHandleAndPredictionKey& Key |
Abilities/GameplayAbilityTypes.h | ||
void PrintDebug() |
Abilities/GameplayAbilityTypes.h | ||
void Remove
(
const FGameplayAbilitySpecHandleAndPredictionKey& Key |
Abilities/GameplayAbilityTypes.h |