mirror of
https://github.com/Ed94/Cog.git
synced 2026-07-20 23:46:49 +00:00
Add more abilities in the sample
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
|
||||
#include "CoreMinimal.h"
|
||||
#include "GameplayEffectExecutionCalculation.h"
|
||||
#include "ScalableFloat.h"
|
||||
#include "CogSampleExecCalculation_PoolRegen.generated.h"
|
||||
|
||||
UENUM()
|
||||
enum class ECogSamplePoolRegenMode : uint8
|
||||
{
|
||||
Attribute,
|
||||
MaxPoolDuration,
|
||||
ScalableFloatRate,
|
||||
};
|
||||
|
||||
UCLASS()
|
||||
class UCogSampleExecCalculation_PoolRegen : public UGameplayEffectExecutionCalculation
|
||||
{
|
||||
GENERATED_BODY()
|
||||
|
||||
public:
|
||||
UCogSampleExecCalculation_PoolRegen();
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||
FGameplayAttribute AmountAttribute;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||
FGameplayTag DisableRegenTag;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||
ECogSamplePoolRegenMode Mode = ECogSamplePoolRegenMode::MaxPoolDuration;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditConditionHides, EditCondition = "Mode == ECogSamplePoolRegenMode::Attribute"))
|
||||
FGameplayAttribute RegenRateAttribute;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditConditionHides, EditCondition = "Mode == ECogSamplePoolRegenMode::ScalableFloatRate"))
|
||||
FScalableFloat RegenRate;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditConditionHides, EditCondition = "Mode == ECogSamplePoolRegenMode::MaxPoolDuration"))
|
||||
FGameplayAttribute MaxAmountAttribute;
|
||||
|
||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (EditConditionHides, EditCondition = "Mode == ECogSamplePoolRegenMode::MaxPoolDuration"))
|
||||
FScalableFloat TotalDuration;
|
||||
|
||||
virtual void Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, OUT FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const override;
|
||||
};
|
||||
Reference in New Issue
Block a user