From 521ab6c0890b92889c50cef142ecb5d46379ceda Mon Sep 17 00:00:00 2001 From: PHILIP White Date: Mon, 14 Nov 2022 23:29:16 +0000 Subject: [PATCH] Updated TurnBaseCombat to End Combat onDeath --- .../TurnBasedCombat/TurnBaseCombat.cpp | 17 ++++++++++------- .../TurnBasedCombat/TurnBaseCombat.h | 7 +++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.cpp b/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.cpp index e7d7bdc..e8c3d75 100644 --- a/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.cpp +++ b/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.cpp @@ -23,9 +23,7 @@ void ATurnBaseCombat::StartCombat() if (HUD->IsInViewport()) return; HUD->AddToViewport(); - APlayerController* PC = Cast(GetWorld()->GetFirstPlayerController()); - - if (PC) + if (APlayerController* PC = Cast(GetWorld()->GetFirstPlayerController())) { PC->bShowMouseCursor = true; PC->bEnableClickEvents = true; @@ -94,6 +92,13 @@ void ATurnBaseCombat::ExecuteCast(FString Combo) GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Blue, FString::Printf(TEXT("Player Damaged %d"), *ValidCombos.Find(Combo))); break; } + //End Combat if either the player or enemy is dead + if (PlayerHealth <= 0 || EnemyHealth <= 0) + { + EndCombat(); + return; + } + SwitchTurn(); } @@ -214,10 +219,8 @@ void ATurnBaseCombat::ClearBattleLog() void ATurnBaseCombat::UpdateBattleLog() { - TArray tempArray; - //Get the amount of lines in the battle log - int32 LineCount = BattleLog.ParseIntoArray(tempArray, TEXT("\n"), true); - if (LineCount > 10) //If there are more than 10 lines + TArray TempArray; + if (const int32 LineCount = BattleLog.ParseIntoArray(TempArray, TEXT("\n"), true); LineCount > 10) { ClearBattleLog(); } diff --git a/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.h b/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.h index af1c25e..bbde3cf 100644 --- a/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.h +++ b/Source/the_twilight_abyss/TurnBasedCombat/TurnBaseCombat.h @@ -29,14 +29,13 @@ public: UPROPERTY(EditDefaultsOnly) int ActiveActionPoints = 0; - AActor* PlayerActor; - AActor* EnemyActor; - AActor* ActiveActor; + // AActor* PlayerActor; + // AActor* EnemyActor; + // AActor* ActiveActor; /* TODO: Reference Player Inventory - Reference Combat Logging System */ UPROPERTY(EditAnywhere) TSubclassOf HUDWidget;