Enemy HP Bars done! Time to make classes.
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
#include "AbilitySystem/AuraAbilitySystemComponent.h"
|
||||
#include "AbilitySystem/AuraAttributeSet.h"
|
||||
#include "Aura/Aura.h"
|
||||
#include "Components/WidgetComponent.h"
|
||||
#include "UI/Widget/AuraUserWidget.h"
|
||||
|
||||
AAuraEnemy::AAuraEnemy()
|
||||
{
|
||||
@@ -13,6 +15,9 @@ AAuraEnemy::AAuraEnemy()
|
||||
AbilitySystemComponent->SetIsReplicated(true);
|
||||
AbilitySystemComponent->SetReplicationMode(EGameplayEffectReplicationMode::Minimal);
|
||||
AttributeSet = CreateDefaultSubobject<UAuraAttributeSet>("AttributeSet");
|
||||
|
||||
HealthBar = CreateDefaultSubobject<UWidgetComponent>("HealthBar");
|
||||
HealthBar->SetupAttachment(GetRootComponent());
|
||||
}
|
||||
|
||||
void AAuraEnemy::HighlightActor()
|
||||
@@ -21,6 +26,28 @@ void AAuraEnemy::HighlightActor()
|
||||
GetMesh()->SetCustomDepthStencilValue(CUSTOM_DEPTH_RED);
|
||||
Weapon->SetRenderCustomDepth(true);
|
||||
Weapon->SetCustomDepthStencilValue(CUSTOM_DEPTH_RED);
|
||||
|
||||
if (UAuraUserWidget* AuraUserWidget = Cast<UAuraUserWidget>(HealthBar->GetUserWidgetObject()))
|
||||
{
|
||||
AuraUserWidget->SetWidgetController(this);
|
||||
}
|
||||
|
||||
if (const UAuraAttributeSet* AuraAS = Cast<UAuraAttributeSet>(AttributeSet))
|
||||
{
|
||||
AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(AuraAS->GetHealthAttribute()).AddLambda(
|
||||
[this](const FOnAttributeChangeData& Data){ OnHealthChanged.Broadcast(Data.NewValue); }
|
||||
);
|
||||
AbilitySystemComponent->GetGameplayAttributeValueChangeDelegate(AuraAS->GetMaxHealthAttribute()).AddLambda(
|
||||
[this](const FOnAttributeChangeData& Data)
|
||||
{
|
||||
OnMaxHealthChanged.Broadcast(Data.NewValue);
|
||||
}
|
||||
);
|
||||
|
||||
OnHealthChanged.Broadcast(AuraAS->GetHealth());
|
||||
OnMaxHealthChanged.Broadcast(AuraAS->GetMaxHealth());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void AAuraEnemy::UnHighlightActor()
|
||||
|
||||
Reference in New Issue
Block a user