Files
Aura-TopDownRPG-GAS/Source/Aura/Public/AbilitySystem/Data/CharacterClassInfo.h

49 lines
1.1 KiB
C
Raw Normal View History

2025-11-02 06:40:35 -05:00
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "CharacterClassInfo.generated.h"
class UGameplayEffect;
UENUM(BlueprintType)
enum class ECharacterClass : uint8
{
Elementalist,
Warrior,
Ranger
};
USTRUCT(BlueprintType)
struct FCharacterClassDefaultInfo
{
GENERATED_BODY()
UPROPERTY(EditDefaultsOnly, Category = "Class Defaults")
TSubclassOf<UGameplayEffect> PrimaryAttributes;
};
/**
*
*/
UCLASS()
class AURA_API UCharacterClassInfo : public UDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditDefaultsOnly, Category = "Character Class Defaults")
TMap<ECharacterClass, FCharacterClassDefaultInfo> CharacterClassInformation;
UPROPERTY(EditDefaultsOnly, Category = "Common Class Defaults")
TSubclassOf<UGameplayEffect> SecondaryAttributes;
UPROPERTY(EditDefaultsOnly, Category = "Common Class Defaults")
TSubclassOf<UGameplayEffect> VitalAttributes;
UPROPERTY(EditDefaultsOnly, Category = "Common Class Defaults")
TArray<TSubclassOf<UGameplayEffect>> CommonAbilities;
FCharacterClassDefaultInfo GetClassDefaultInfo(ECharacterClass CharacterClass);
};