38 lines
877 B
C++
38 lines
877 B
C++
// Project Lab - NHTV Igad
|
|
|
|
#pragma once
|
|
#include "AbilityState.generated.h"
|
|
|
|
UCLASS()
|
|
class AAbilityState : public AActor
|
|
{
|
|
GENERATED_BODY()
|
|
public:
|
|
// Sets the ability to be on cooldown
|
|
virtual void NativeSetCooldown();
|
|
UFUNCTION(BlueprintNativeEvent, Category = "Ability State")
|
|
void SetCooldown();
|
|
|
|
UFUNCTION(BlueprintCallable, Category = "Ability State")
|
|
bool IsMaxed() const;
|
|
|
|
// Total duration of cooldown
|
|
UPROPERTY(BlueprintReadWrite)
|
|
float currentCooldownDuration;
|
|
|
|
// Current state of cooldown going from max->0
|
|
UPROPERTY(BlueprintReadWrite)
|
|
float onCooldownTimer;
|
|
|
|
// Current state of cooldown going from 1->0
|
|
UPROPERTY(BlueprintReadOnly)
|
|
float cooldownRate;
|
|
|
|
UPROPERTY(BlueprintReadOnly)
|
|
float power;
|
|
UPROPERTY(BlueprintReadOnly)
|
|
bool toggleState;
|
|
UPROPERTY(BlueprintReadOnly)
|
|
class UAbilityInfo* info;
|
|
};
|