You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.4 KiB

9 months ago
// Copyright Zelle Games
#pragma once
#include "CoreMinimal.h"
#include "Engine/DirectionalLight.h"
9 months ago
#include "Subsystems/GameInstanceSubsystem.h"
#include "StatsSubsystem.generated.h"
/**
*
*/
UCLASS()
class STREETPUNKZ_API UStatsSubsystem : public UGameInstanceSubsystem
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintReadWrite)
TArray<float> SunRotations = {2.5f, 294, 350};
UFUNCTION(BlueprintCallable)
void RotateSun(ADirectionalLight* DirectionalLight);
9 months ago
UPROPERTY(BlueprintReadWrite)
int32 CurrentWave = 1;
UPROPERTY(BlueprintReadWrite)
int32 HighestWave = 0;
UPROPERTY(BlueprintReadWrite)
int32 Money = 0;
UPROPERTY(BlueprintReadWrite)
int32 XP = 0;
UPROPERTY(BlueprintReadWrite)
int32 MaxHP = 80;
UPROPERTY(BlueprintReadWrite)
int32 CurrentHP = 80;
UPROPERTY(BlueprintReadWrite)
int32 AttackPower = 1;
UPROPERTY(BlueprintReadWrite)
float AttackSpeed = 0.33f;
UPROPERTY(BlueprintReadWrite)
int32 Dexterity = 1;
UPROPERTY(BlueprintReadWrite)
int32 DefensePower = 1;
UPROPERTY(BlueprintReadWrite)
int32 RecoveryPerTurn = 0;
UPROPERTY(BlueprintReadWrite)
TArray<TSubclassOf<AActor>> Bosses;
9 months ago
UFUNCTION(BlueprintCallable, Category="Stats")
bool IncreaseStat(FString StatName);
protected:
UFUNCTION(BlueprintCallable, Category="Stats")
int32 GetNextCost(int32 Input, FString StatName);
UFUNCTION(BlueprintCallable, Category="Stats")
int32 GetNextCostFloat(float Input, FString StatName);
};