Updated TurnBaseCombat to Link Health Values

This commit is contained in:
Philip W 2023-01-31 01:21:49 +00:00
parent ad91d6eac7
commit b84a16e926
2 changed files with 6 additions and 5 deletions

View File

@ -10,6 +10,7 @@
#include "Components/ProgressBar.h" #include "Components/ProgressBar.h"
#include "GameFramework/Character.h" #include "GameFramework/Character.h"
#include "Kismet/GameplayStatics.h" #include "Kismet/GameplayStatics.h"
#include "the_twilight_abyss/PlayerTemp/TempCharacter.h"
// Sets default values // Sets default values
ATurnBaseCombatV2::ATurnBaseCombatV2() ATurnBaseCombatV2::ATurnBaseCombatV2()
@ -102,6 +103,7 @@ void ATurnBaseCombatV2::BeginPlay()
{ {
PlayerActor = Cast<AActor>(Actor); PlayerActor = Cast<AActor>(Actor);
} }
PlayerHealth = &Cast<ATempCharacter>(PlayerActor)->Health;
HUD = CreateWidget<UUserWidget>(GetWorld(), HUDWidget); HUD = CreateWidget<UUserWidget>(GetWorld(), HUDWidget);
@ -181,7 +183,7 @@ void ATurnBaseCombatV2::ExecuteCast(FString Combo)
EnemyActor->Destroy(); EnemyActor->Destroy();
return; return;
} }
if (PlayerHealth <= 0) if (*PlayerHealth <= 0)
{ {
EndCombat(); EndCombat();
return; return;
@ -210,7 +212,7 @@ void ATurnBaseCombatV2::RevertActionPoints()
void ATurnBaseCombatV2::DamagePlayer(int Damage) void ATurnBaseCombatV2::DamagePlayer(int Damage)
{ {
PlayerHealth -= FMath::Clamp(Damage, 0, 100); *PlayerHealth -= FMath::Clamp(Damage, 0, 100);
UpdateProgressBars(); UpdateProgressBars();
AddBattleLogMessage("Player was damaged for " + FString::FromInt(Damage) + " damage."); AddBattleLogMessage("Player was damaged for " + FString::FromInt(Damage) + " damage.");
} }
@ -224,7 +226,7 @@ void ATurnBaseCombatV2::DamageEnemy(int Damage)
void ATurnBaseCombatV2::UpdateProgressBars() const void ATurnBaseCombatV2::UpdateProgressBars() const
{ {
PlayerHealthBar->SetPercent(PlayerHealth / 100.0f); PlayerHealthBar->SetPercent(*PlayerHealth / 100.0f);
EnemyHealthBar->SetPercent(*EnemyHealth / 100.0f); EnemyHealthBar->SetPercent(*EnemyHealth / 100.0f);
} }

View File

@ -22,8 +22,7 @@ public:
ATurnBaseCombatV2(); ATurnBaseCombatV2();
int* EnemyHealth = nullptr; int* EnemyHealth = nullptr;
UPROPERTY(EditDefaultsOnly) float* PlayerHealth = nullptr;
int PlayerHealth = 100;
UPROPERTY(EditDefaultsOnly) UPROPERTY(EditDefaultsOnly)
int DefaultActionPoints = 3; int DefaultActionPoints = 3;
UPROPERTY(EditDefaultsOnly) UPROPERTY(EditDefaultsOnly)