Files
BusyRabbit/Source/BusyRabbit/Public/Core/PW_Ability.h
2025-07-09 01:08:35 +08:00

40 lines
1.3 KiB
C++

// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "LuaOverriderInterface.h"
#include "Abilities/GameplayAbility.h"
#include "PW_Ability.generated.h"
/**
*
*/
UCLASS()
class BUSYRABBIT_API UPW_Ability : public UGameplayAbility, public ILuaOverriderInterface{
GENERATED_BODY()
public:
UPW_Ability();
public:
virtual FString GetLuaFilePath_Implementation() const override;
virtual void ApplyCost(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo* ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo) const override;
UFUNCTION(BlueprintNativeEvent)
void BP_ApplyCost(const FGameplayAbilitySpecHandle Handle, const FGameplayAbilityActorInfo& ActorInfo, const FGameplayAbilityActivationInfo ActivationInfo)const;
public:
UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, DisplayName = "默认的Effect配置")
TSubclassOf<UGameplayEffect> DefaultEffectConfig;
UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, DisplayName = "技能的Effect配置")
TMap<FGameplayTag, TSubclassOf<UGameplayEffect>> EffectConfigs;
UPROPERTY(BlueprintReadOnly, EditDefaultsOnly, DisplayName = "技能的Effect配置")
TMap<FName, TSubclassOf<UGameplayEffect>> AbilityEffectConfigs;
UPROPERTY(BlueprintReadOnly, EditDefaultsOnly)
FString LuaFilePath;
};