From f1558e3a8ad4b8c5b1758ad1935ef006864e93c2 Mon Sep 17 00:00:00 2001 From: Kingsmedia Date: Tue, 10 May 2022 10:40:23 +0200 Subject: [PATCH] 119 - Game Timer --- .../HUD/WBP_CharacterOverlay.uasset | Bin 45633 -> 47901 bytes Source/Blaster/HUD/CharacterOverlay.h | 3 ++ .../BlasterPlayerController.cpp | 37 ++++++++++++++++++ .../BlasterPlayerController.h | 10 ++++- 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/Content/Blueprints/HUD/WBP_CharacterOverlay.uasset b/Content/Blueprints/HUD/WBP_CharacterOverlay.uasset index 18c0edc75511afa5d1e14f614effa8f519f400db..287227cffda4efa1d9e33f681695ffba17615f61 100644 GIT binary patch literal 47901 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 ZfFjI5HpPh)Cs53xs2$Pf3rF7i{{gp6al`-s diff --git a/Source/Blaster/HUD/CharacterOverlay.h b/Source/Blaster/HUD/CharacterOverlay.h index 58c181f..874a491 100644 --- a/Source/Blaster/HUD/CharacterOverlay.h +++ b/Source/Blaster/HUD/CharacterOverlay.h @@ -34,4 +34,7 @@ public: UPROPERTY(meta = (BindWidget)) UTextBlock* CarriedAmmoValue; + UPROPERTY(meta = (BindWidget)) + UTextBlock* MatchCountdownText; + }; diff --git a/Source/Blaster/PlayerController/BlasterPlayerController.cpp b/Source/Blaster/PlayerController/BlasterPlayerController.cpp index 7c1ed29..ff10229 100644 --- a/Source/Blaster/PlayerController/BlasterPlayerController.cpp +++ b/Source/Blaster/PlayerController/BlasterPlayerController.cpp @@ -17,6 +17,13 @@ void ABlasterPlayerController::BeginPlay() BlasterHUD = Cast(GetHUD()); } +void ABlasterPlayerController::Tick(float DeltaSeconds) +{ + Super::Tick(DeltaSeconds); + + SetHUDTime(); +} + void ABlasterPlayerController::OnPossess(APawn* InPawn) { Super::OnPossess(InPawn); @@ -27,6 +34,18 @@ void ABlasterPlayerController::OnPossess(APawn* InPawn) } } +void ABlasterPlayerController::SetHUDTime() +{ + const uint32 SecondsLeft = FMath::CeilToInt(MatchTime - GetWorld()->GetTimeSeconds()); + + if (CountdownInt != SecondsLeft) + { + SetHUDMatchCountdown(MatchTime - GetWorld()->GetTimeSeconds()); + } + + CountdownInt = SecondsLeft; +} + void ABlasterPlayerController::SetHUDHealth(float Health, float MaxHealth) { BlasterHUD = BlasterHUD == nullptr ? Cast(GetHUD()) : BlasterHUD; @@ -104,3 +123,21 @@ void ABlasterPlayerController::SetHUDCarriedAmmo(int32 Ammo) BlasterHUD->CharacterOverlay->CarriedAmmoValue->SetText(FText::FromString(CarriedAmmoAmount)); } } + +void ABlasterPlayerController::SetHUDMatchCountdown(float CountdownTime) +{ + BlasterHUD = BlasterHUD == nullptr ? Cast(GetHUD()) : BlasterHUD; + bool bHUDValid = + BlasterHUD && + BlasterHUD->CharacterOverlay && + BlasterHUD->CharacterOverlay->MatchCountdownText; + + if (bHUDValid) + { + int32 Minutes = FMath::FloorToInt(CountdownTime / 60); + int32 Seconds = CountdownTime - Minutes * 60; + + const FString CountdownText = FString::Printf(TEXT("%02d:%02d"), Minutes, Seconds); + BlasterHUD->CharacterOverlay->MatchCountdownText->SetText(FText::FromString(CountdownText)); + } +} diff --git a/Source/Blaster/PlayerController/BlasterPlayerController.h b/Source/Blaster/PlayerController/BlasterPlayerController.h index 44d3b9b..c4be8a6 100644 --- a/Source/Blaster/PlayerController/BlasterPlayerController.h +++ b/Source/Blaster/PlayerController/BlasterPlayerController.h @@ -16,20 +16,26 @@ class BLASTER_API ABlasterPlayerController : public APlayerController public: + virtual void Tick(float DeltaSeconds) override; + virtual void OnPossess(APawn* InPawn) override; + void SetHUDHealth(float Health, float MaxHealth); void SetHUDScore(float Score); void SetHUDDefeats(int32 Defeats); void SetHUDWeaponAmmo(int32 Ammo); void SetHUDCarriedAmmo(int32 Ammo); - virtual void OnPossess(APawn* InPawn) override; + void SetHUDMatchCountdown(float CountdownTime); protected: virtual void BeginPlay() override; + void SetHUDTime(); private: UPROPERTY() class ABlasterHUD* BlasterHUD; - + + float MatchTime = 120.f; + uint32 CountdownInt = 0; };