2025-10-14 22:20:59 -04:00
|
|
|
// Copyright Echo Devgroup
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "CoreMinimal.h"
|
2025-10-18 11:28:42 -04:00
|
|
|
#include "AbilitySystem/Data/CharacterClassInfo.h"
|
2025-10-14 22:20:59 -04:00
|
|
|
#include "Character/AuraCharacterBase.h"
|
|
|
|
|
#include "Interact/EnemyInterface.h"
|
2025-10-17 20:49:29 -04:00
|
|
|
#include "UI/WidgetController/OverlayWidgetController.h"
|
2025-10-14 22:20:59 -04:00
|
|
|
#include "AuraEnemy.generated.h"
|
|
|
|
|
|
2025-10-17 20:49:29 -04:00
|
|
|
class UWidgetComponent;
|
2025-10-14 22:20:59 -04:00
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
UCLASS()
|
|
|
|
|
class AURA_API AAuraEnemy : public AAuraCharacterBase, public IEnemyInterface
|
|
|
|
|
{
|
|
|
|
|
GENERATED_BODY()
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
AAuraEnemy();
|
|
|
|
|
|
2025-10-14 23:08:38 -04:00
|
|
|
bool bHighlighted = false;
|
2025-10-14 22:20:59 -04:00
|
|
|
//Enemy Interface
|
|
|
|
|
virtual void HighlightActor() override;
|
|
|
|
|
virtual void UnHighlightActor() override;
|
|
|
|
|
|
|
|
|
|
virtual int32 GetPlayerLevel() override;
|
|
|
|
|
|
2025-10-17 20:49:29 -04:00
|
|
|
UPROPERTY(BlueprintAssignable)
|
|
|
|
|
FOnAttributeChangedSignature OnHealthChanged;
|
|
|
|
|
UPROPERTY(BlueprintAssignable)
|
|
|
|
|
FOnAttributeChangedSignature OnMaxHealthChanged;
|
|
|
|
|
|
2025-10-14 22:20:59 -04:00
|
|
|
protected:
|
|
|
|
|
virtual void BeginPlay() override;
|
|
|
|
|
virtual void InitAbilityActorInfo() override;
|
2025-10-18 11:28:42 -04:00
|
|
|
virtual void InitializeDefaultAttributes() const override;
|
2025-10-14 22:20:59 -04:00
|
|
|
|
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Character Class Defaults")
|
|
|
|
|
int32 Level = 1;
|
2025-10-17 20:49:29 -04:00
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Character Class Defaults")
|
|
|
|
|
FText Name;
|
2025-10-18 11:28:42 -04:00
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Character Class Defaults")
|
|
|
|
|
ECharacterClass CharacterClass = ECharacterClass::Warrior;
|
|
|
|
|
|
2025-10-17 20:49:29 -04:00
|
|
|
UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
|
|
|
|
|
TObjectPtr<UWidgetComponent> HealthBar;
|
2025-10-17 16:43:49 -04:00
|
|
|
|
2025-10-14 22:20:59 -04:00
|
|
|
private:
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|