Files
Aura-TopDownRPG-GAS/Source/Aura/Public/Character/AuraEnemy.h
2025-11-02 06:40:35 -05:00

62 lines
1.6 KiB
C++

// Copyright Echo Devgroup
#pragma once
#include "CoreMinimal.h"
#include "AbilitySystem/Data/CharacterClassInfo.h"
#include "Character/AuraCharacterBase.h"
#include "Interact/EnemyInterface.h"
#include "UI/WidgetController/OverlayWidgetController.h"
#include "AuraEnemy.generated.h"
class UWidgetComponent;
/**
*
*/
UCLASS()
class AURA_API AAuraEnemy : public AAuraCharacterBase, public IEnemyInterface
{
GENERATED_BODY()
public:
AAuraEnemy();
bool bHighlighted = false;
//Enemy Interface
virtual void HighlightActor() override;
virtual void UnHighlightActor() override;
virtual int32 GetPlayerLevel() override;
UPROPERTY(BlueprintAssignable)
FOnAttributeChangedSignature OnHealthChanged;
UPROPERTY(BlueprintAssignable)
FOnAttributeChangedSignature OnMaxHealthChanged;
void HitReactTagChanged(const FGameplayTag CallbackTag, int32 NewCount);
UPROPERTY(BlueprintReadOnly, Category = "Combat")
bool bHitReacting = false;
UPROPERTY(BlueprintReadOnly, Category = "Combat")
float BaseWalkSpeed = 250.f;
protected:
virtual void BeginPlay() override;
virtual void InitAbilityActorInfo() override;
virtual void InitializeDefaultAttributes() const override;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Character Class Defaults")
int32 Level = 1;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Character Class Defaults")
FText Name;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Character Class Defaults")
ECharacterClass CharacterClass = ECharacterClass::Warrior;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
TObjectPtr<UWidgetComponent> HealthBar;
private:
};