Native class

FGBAGameplayEffectReferencerHandler#

  • Declared in "ReferencerHandlers/GBAGameplayEffectReferencerHandler.h"
class FGBAGameplayEffectReferencerHandler : public IGBAAttributeReferencerHandler

Handlers for attribute renames on Gameplay Effect CDO.

List of Attributes properties:

  • [x] Duration Magnitude > Attribute Based Magnitude > Backing Attribute > Attribute to Capture
  • [x] Modifiers (FGameplayModifierInfo.Attribute)
    • [x] Attribute Based Magnitude calculation type > Backing Attribute > Attribute to Capture
  • [x] Gameplay Cues > Magnitude Attribute
  • [x] Tags > Remove Gameplay Effect Query > Modifying Attribute
  • [ ] Immunity > Granted Application Immunity Query > Modifying Attribute

Internal structs#

  • public
    • FAttributeModifierToReplace&

    Data holder for GE Modifier properties that needs an update

    • FAttributeReference&

    Data holder for cache map, representing a reference to a FGameplayAttribute property in a GE DefaultObject

Internal enums#

Methods#

  • public
    • Create&
    static TSharedPtr<IGBAAttributeReferencerHandler>
    Create(​)
  • virtual bool
    HandleAttributeRename(​
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    ) override
    • HandlePreCompile&
    • Implements IGBAAttributeReferencerHandler::​HandlePreCompile
    virtual bool
    HandlePreCompile(​
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload
    ) override
    • OnPostCompile&
    • Implements IGBAAttributeReferencerHandler::​OnPostCompile
    virtual void
    OnPostCompile(​
    const FString& InPackageName
    ) override
    • OnPreCompile&
    • Implements IGBAAttributeReferencerHandler::​OnPreCompile
    virtual void
    OnPreCompile(​
    const FString& InPackageName
    ) override
  • protected
    • BuildEffectCueMagnitudeAttributeReference&
    static bool
    BuildEffectCueMagnitudeAttributeReference(​
    const FGameplayEffectCue& InEffectCue,
    FAttributeReference& OutAttributeReference
    )
    • BuildEffectQueryAttributeReference&
    static bool
    BuildEffectQueryAttributeReference(​
    const FGameplayEffectQuery& InEffectQuery,
    FAttributeReference& OutAttributeReference
    )
    • BuildModifierInfoAttributeReference&
    static bool
    BuildModifierInfoAttributeReference(​
    const FGameplayModifierInfo& InModifier,
    FAttributeReference& OutAttributeReference
    )

    Parses and returns an "Attribute Reference" for the given struct found in a Gameplay Effect CDO.

    • BuildModifierMagnitudeAttributeReference&
    static bool
    BuildModifierMagnitudeAttributeReference(​
    const FGameplayEffectModifierMagnitude& InMagnitude,
    FAttributeReference& OutAttributeReference
    )
    • GetAttributeBasedFloatFromContainer&
    FAttributeBasedFloat*
    GetAttributeBasedFloatFromContainer(​
    FGameplayEffectModifierMagnitude* InModifierMagnitude
    ) const
    • GetCachedAttributeByPredicate&

    template<​typename Predicate​>

    inline bool
    GetCachedAttributeByPredicate(​
    const FAssetIdentifier& InAssetIdentifier,
    FAttributeReference& OutAttributeReference,
    Predicate InPred
    )
    • GetClassDefaultName&
    static FString
    GetClassDefaultName(​
    const FString& InName
    )
    • UpdateCues&
    virtual bool
    UpdateCues(​
    UGameplayEffect* InEffectCDO,
    const UBlueprint* InBlueprint,
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    )
    • UpdateDuration&
    virtual bool
    UpdateDuration(​
    UGameplayEffect* InEffectCDO,
    const UBlueprint* InBlueprint,
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    )
    • UpdateEffectQuery&
    virtual bool
    UpdateEffectQuery(​
    const UBlueprint* InBlueprint,
    const FAssetIdentifier& InAssetIdentifier,
    EAttributeReferenceType InReferenceType,
    const FGBAAttributeReferencerPayload& InPayload,
    const FText& InMessageText,
    FGameplayAttribute& OutModifyingAttribute,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    )

    Common update code shared between Tags Remove Effect Query and Immunity Granted Application Query

    • UpdateImmunityEffectQuery&
    virtual bool
    UpdateImmunityEffectQuery(​
    UGameplayEffect* InEffectCDO,
    const UBlueprint* InBlueprint,
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    )
    • UpdateModifiers&
    virtual bool
    UpdateModifiers(​
    UGameplayEffect* InEffectCDO,
    const UBlueprint* InBlueprint,
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    )

    Updates a Gameplay Effect CDO and changes property references for an Attribute from OldPropertyName to NewPropertyName.

    • UpdateModifiersBackingAttribute&
    virtual bool
    UpdateModifiersBackingAttribute(​
    UGameplayEffect* InEffectCDO,
    const UBlueprint* InBlueprint,
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    )
    • UpdateRemoveGameplayEffectQuery&
    virtual bool
    UpdateRemoveGameplayEffectQuery(​
    UGameplayEffect* InEffectCDO,
    const UBlueprint* InBlueprint,
    const FAssetIdentifier& InAssetIdentifier,
    const FGBAAttributeReferencerPayload& InPayload,
    TArray<TSharedRef<FTokenizedMessage>>& OutMessages
    )
  • public
    • ~FGBAGameplayEffectReferencerHandler&

Fields#

  • protected
    • AttributesCacheMap&
    TMap<FAssetIdentifier, TArray<FAttributeReference>> AttributesCacheMap