Files
PHY/Plugins/GCS/Source/GenericGameplayAbilities/Public/AsyncTasks/GGA_AsyncTask_WaitGameplayAbilityActivated.h
2026-03-03 01:23:02 +08:00

32 lines
1016 B
C++

// Copyright 2025 https://yuewu.dev/en All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Abilities/Async/AbilityAsync.h"
#include "GGA_AsyncTask_WaitGameplayAbilityActivated.generated.h"
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FGGA_AbilityActivatedDelegate, const UGameplayAbility*, Ability);
UCLASS()
class GENERICGAMEPLAYABILITIES_API UGGA_AsyncTask_WaitGameplayAbilityActivated : public UAbilityAsync
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category = "GGA|Tasks", meta = (DefaultToSelf = "TargetActor", BlueprintInternalUseOnly = "TRUE"))
static UGGA_AsyncTask_WaitGameplayAbilityActivated* WaitGameplayAbilityActivated(AActor* TargetActor);
void HandleAbilityActivated(UGameplayAbility* Ability);
UPROPERTY(BlueprintAssignable)
FGGA_AbilityActivatedDelegate OnAbilityActivated;
protected:
virtual bool ShouldBroadcastDelegates() const override;
virtual void Activate() override;
virtual void EndAction() override;
FDelegateHandle DelegateHandle;
};