Files
Aura-TopDownRPG-GAS/Source/Aura/Public/Character/AuraCharacterBase.h

53 lines
1.4 KiB
C
Raw Normal View History

2025-10-14 22:20:59 -04:00
// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "AbilitySystemComponent.h"
#include "AbilitySystemInterface.h"
#include "GameFramework/Character.h"
#include "Interact/CombatInterface.h"
#include "AuraCharacterBase.generated.h"
UCLASS(Abstract)
class AURA_API AAuraCharacterBase : public ACharacter, public IAbilitySystemInterface, public ICombatInterface
{
GENERATED_BODY()
public:
AAuraCharacterBase();
virtual UAbilitySystemComponent* GetAbilitySystemComponent() const override;
UAttributeSet* GetAttributeSet() const { return AttributeSet; }
protected:
virtual void BeginPlay() override;
//Weapon
UPROPERTY(EditAnywhere, Category = Combat)
TObjectPtr<USkeletalMeshComponent> Weapon;
UPROPERTY()
TObjectPtr<UAbilitySystemComponent> AbilitySystemComponent;
UPROPERTY()
TObjectPtr<UAttributeSet> AttributeSet;
virtual void InitAbilityActorInfo();
UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Attributes")
TSubclassOf<UGameplayEffect> DefaultPrimaryAttributes;
UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Attributes")
TSubclassOf<UGameplayEffect> DefaultSecondaryAttributes;
UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Attributes")
TSubclassOf<UGameplayEffect> DefaultVitalAttributes;
2025-10-14 22:20:59 -04:00
void ApplyEffectToSelf(TSubclassOf<UGameplayEffect> GameplayEffectClass, float Level) const;
void InitializeDefaultAttributes() const;
public:
};