From efbb1d9269f87beae97f4f24fe81abe8c639cd38 Mon Sep 17 00:00:00 2001 From: Kingsmedia Date: Mon, 30 May 2022 21:18:34 +0200 Subject: [PATCH] 219 - Updating Team Scores --- .../HUD/WBP_CharacterOverlay.uasset | Bin 77219 -> 87876 bytes Source/Blaster/GameMode/BlasterGameMode.cpp | 2 +- Source/Blaster/GameMode/BlasterGameMode.h | 2 + Source/Blaster/GameMode/TeamsGameMode.cpp | 5 + Source/Blaster/GameMode/TeamsGameMode.h | 1 + Source/Blaster/GameState/BlasterGameState.cpp | 10 ++ Source/Blaster/GameState/BlasterGameState.h | 4 + Source/Blaster/HUD/CharacterOverlay.h | 13 +++ .../BlasterPlayerController.cpp | 96 +++++++++++++++++- .../BlasterPlayerController.h | 16 ++- 10 files changed, 142 insertions(+), 7 deletions(-) diff --git a/Content/Blueprints/HUD/WBP_CharacterOverlay.uasset b/Content/Blueprints/HUD/WBP_CharacterOverlay.uasset index a488d7f787bb20e1cd8d4ecab798d2f8f374a696..918a5fe6ec54c30ec97793808514df0da8d847b6 100644 GIT binary patch literal 87876 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 l#*z~=ib~l>8H=eB$`zDdl(*It); if (BlasterPlayer) { - BlasterPlayer->OnMatchStateSet(MatchState); + BlasterPlayer->OnMatchStateSet(MatchState, bTeamsMatch); } } } diff --git a/Source/Blaster/GameMode/BlasterGameMode.h b/Source/Blaster/GameMode/BlasterGameMode.h index 8693939..3058953 100644 --- a/Source/Blaster/GameMode/BlasterGameMode.h +++ b/Source/Blaster/GameMode/BlasterGameMode.h @@ -41,6 +41,8 @@ public: float LevelStartingTime = 0.f; + bool bTeamsMatch = false; + protected: virtual void BeginPlay() override; virtual void OnMatchStateSet() override; diff --git a/Source/Blaster/GameMode/TeamsGameMode.cpp b/Source/Blaster/GameMode/TeamsGameMode.cpp index 9772105..4c67a01 100644 --- a/Source/Blaster/GameMode/TeamsGameMode.cpp +++ b/Source/Blaster/GameMode/TeamsGameMode.cpp @@ -6,6 +6,11 @@ #include "Blaster/GameState/BlasterGameState.h" #include "Kismet/GameplayStatics.h" +ATeamsGameMode::ATeamsGameMode() +{ + bTeamsMatch = true; +} + void ATeamsGameMode::PostLogin(APlayerController* NewPlayer) { Super::PostLogin(NewPlayer); diff --git a/Source/Blaster/GameMode/TeamsGameMode.h b/Source/Blaster/GameMode/TeamsGameMode.h index 09906ad..d83ca6d 100644 --- a/Source/Blaster/GameMode/TeamsGameMode.h +++ b/Source/Blaster/GameMode/TeamsGameMode.h @@ -15,6 +15,7 @@ class BLASTER_API ATeamsGameMode : public ABlasterGameMode GENERATED_BODY() public: + ATeamsGameMode(); virtual void PostLogin(APlayerController* NewPlayer) override; virtual void Logout(AController* Exiting) override; virtual float CalculateDamage(AController* Attacker, AController* Victim, float BaseDamage) override; diff --git a/Source/Blaster/GameState/BlasterGameState.cpp b/Source/Blaster/GameState/BlasterGameState.cpp index d571088..8a4a638 100644 --- a/Source/Blaster/GameState/BlasterGameState.cpp +++ b/Source/Blaster/GameState/BlasterGameState.cpp @@ -34,6 +34,16 @@ void ABlasterGameState::UpdateTopScore(ABlasterPlayerState* ScoringPlayer) } } +void ABlasterGameState::RedTeamScores() +{ + ++RedTeamScore; +} + +void ABlasterGameState::BlueTeamScores() +{ + ++BlueTeamScore; +} + void ABlasterGameState::OnRep_RedTeamScore() { diff --git a/Source/Blaster/GameState/BlasterGameState.h b/Source/Blaster/GameState/BlasterGameState.h index fd5e861..16e2efe 100644 --- a/Source/Blaster/GameState/BlasterGameState.h +++ b/Source/Blaster/GameState/BlasterGameState.h @@ -22,6 +22,10 @@ public: TArray TopScoringPlayers; // Teams + + void RedTeamScores(); + void BlueTeamScores(); + TArray RedTeam; TArray BlueTeam; diff --git a/Source/Blaster/HUD/CharacterOverlay.h b/Source/Blaster/HUD/CharacterOverlay.h index d189dff..14d46c5 100644 --- a/Source/Blaster/HUD/CharacterOverlay.h +++ b/Source/Blaster/HUD/CharacterOverlay.h @@ -4,6 +4,7 @@ #include "CoreMinimal.h" #include "Blueprint/UserWidget.h" +#include "Components/Border.h" #include "Components/Image.h" #include "CharacterOverlay.generated.h" @@ -31,7 +32,19 @@ public: UPROPERTY(meta = (BindWidget)) UTextBlock* ScoreValue; + + UPROPERTY(meta = (BindWidget)) + UBorder* RedTeamScoreBorder; + UPROPERTY(meta = (BindWidget)) + UTextBlock* RedTeamScore; + + UPROPERTY(meta = (BindWidget)) + UBorder* BlueTeamScoreBorder; + + UPROPERTY(meta = (BindWidget)) + UTextBlock* BlueTeamScore; + UPROPERTY(meta = (BindWidget)) UTextBlock* DefeatsValue; diff --git a/Source/Blaster/PlayerController/BlasterPlayerController.cpp b/Source/Blaster/PlayerController/BlasterPlayerController.cpp index fb667cd..a0f00f6 100644 --- a/Source/Blaster/PlayerController/BlasterPlayerController.cpp +++ b/Source/Blaster/PlayerController/BlasterPlayerController.cpp @@ -71,6 +71,72 @@ void ABlasterPlayerController::GetLifetimeReplicatedProps(TArray(GetHUD()) : BlasterHUD; + bool bHUDValid = BlasterHUD && + BlasterHUD->CharacterOverlay && + BlasterHUD->CharacterOverlay->RedTeamScore && + BlasterHUD->CharacterOverlay->RedTeamScoreBorder && + BlasterHUD->CharacterOverlay->BlueTeamScore && + BlasterHUD->CharacterOverlay->BlueTeamScoreBorder; + if (bHUDValid) + { + BlasterHUD->CharacterOverlay->RedTeamScore->SetText(FText()); + BlasterHUD->CharacterOverlay->RedTeamScoreBorder->SetVisibility(ESlateVisibility::Hidden); + BlasterHUD->CharacterOverlay->BlueTeamScore->SetText(FText()); + BlasterHUD->CharacterOverlay->BlueTeamScoreBorder->SetVisibility(ESlateVisibility::Hidden); + } +} + +void ABlasterPlayerController::InitTeamScores() +{ + BlasterHUD = BlasterHUD == nullptr ? Cast(GetHUD()) : BlasterHUD; + bool bHUDValid = BlasterHUD && + BlasterHUD->CharacterOverlay && + BlasterHUD->CharacterOverlay->RedTeamScore && + BlasterHUD->CharacterOverlay->RedTeamScoreBorder && + BlasterHUD->CharacterOverlay->BlueTeamScore && + BlasterHUD->CharacterOverlay->BlueTeamScoreBorder; + if (bHUDValid) + { + FString Zero("0"); + BlasterHUD->CharacterOverlay->RedTeamScore->SetText(FText::FromString(Zero)); + BlasterHUD->CharacterOverlay->RedTeamScoreBorder->SetVisibility(ESlateVisibility::Visible); + BlasterHUD->CharacterOverlay->BlueTeamScore->SetText(FText::FromString(Zero)); + BlasterHUD->CharacterOverlay->BlueTeamScoreBorder->SetVisibility(ESlateVisibility::Visible); + } +} + +void ABlasterPlayerController::SetHUDRedTeamScore(int32 RedScore) +{ + BlasterHUD = BlasterHUD == nullptr ? Cast(GetHUD()) : BlasterHUD; + bool bHUDValid = BlasterHUD && + BlasterHUD->CharacterOverlay && + BlasterHUD->CharacterOverlay->RedTeamScore && + BlasterHUD->CharacterOverlay->RedTeamScoreBorder; + if (bHUDValid) + { + const FString ScoreText = FString::Printf(TEXT("%d"), RedScore); + BlasterHUD->CharacterOverlay->RedTeamScore->SetText(FText::FromString(ScoreText)); + } +} + +void ABlasterPlayerController::SetHUDBlueTeamScore(int32 BlueScore) +{ + BlasterHUD = BlasterHUD == nullptr ? Cast(GetHUD()) : BlasterHUD; + bool bHUDValid = BlasterHUD && + BlasterHUD->CharacterOverlay && + BlasterHUD->CharacterOverlay->BlueTeamScore && + BlasterHUD->CharacterOverlay->BlueTeamScoreBorder; + if (bHUDValid) + { + const FString ScoreText = FString::Printf(TEXT("%d"), BlueScore); + BlasterHUD->CharacterOverlay->BlueTeamScore->SetText(FText::FromString(ScoreText)); + } } void ABlasterPlayerController::SetDebugMsg1(FString Key, FString Value) @@ -156,6 +222,18 @@ void ABlasterPlayerController::ShowReturnToMainMenu() } } +void ABlasterPlayerController::OnRep_ShowTeamScores() +{ + if (bShowTeamScores) + { + InitTeamScores(); + } + else + { + HideTeamScores(); + } +} + // Is the ping to high? void ABlasterPlayerController::ServerReportPingStatus_Implementation(bool bHighPing) { @@ -553,13 +631,13 @@ void ABlasterPlayerController::ReceivedPlayer() } } -void ABlasterPlayerController::OnMatchStateSet(FName State) +void ABlasterPlayerController::OnMatchStateSet(FName State, bool bTeamsMatch) { MatchState = State; if (MatchState == MatchState::InProgress) { - HandleMatchHasStarted(); + HandleMatchHasStarted(bTeamsMatch); } else if (MatchState == MatchState::Cooldown) { @@ -579,8 +657,10 @@ void ABlasterPlayerController::OnRep_MatchState() } } -void ABlasterPlayerController::HandleMatchHasStarted() +void ABlasterPlayerController::HandleMatchHasStarted(bool bTeamsMatch) { + if (HasAuthority()) bShowTeamScores = bTeamsMatch; + BlasterHUD = BlasterHUD == nullptr ? Cast(GetHUD()) : BlasterHUD; if (BlasterHUD) { @@ -588,6 +668,16 @@ void ABlasterPlayerController::HandleMatchHasStarted() if (BlasterHUD->Announcement) { BlasterHUD->Announcement->SetVisibility(ESlateVisibility::Hidden); + + if (!HasAuthority()) return; + if (bTeamsMatch) + { + InitTeamScores(); + } + else + { + HideTeamScores(); + } } } } diff --git a/Source/Blaster/PlayerController/BlasterPlayerController.h b/Source/Blaster/PlayerController/BlasterPlayerController.h index 22d8c42..7bf1b12 100644 --- a/Source/Blaster/PlayerController/BlasterPlayerController.h +++ b/Source/Blaster/PlayerController/BlasterPlayerController.h @@ -23,7 +23,11 @@ public: virtual void OnPossess(APawn* InPawn) override; virtual void ReceivedPlayer() override; // Sync with server clock as soon as possible virtual void GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const override; - + void HideTeamScores(); + void InitTeamScores(); + void SetHUDRedTeamScore(int32 RedScore); + void SetHUDBlueTeamScore(int32 BlueScore); + void SetDebugMsg1(FString Key, FString Value); void SetDebugMsg2(FString Key, FString Value); void SetDebugMsg3(FString Key, FString Value); @@ -45,7 +49,7 @@ public: // Synced with server world clock virtual float GetServerTime(); - void OnMatchStateSet(FName State); + void OnMatchStateSet(FName State, bool bTeamsMatch = false); void HandleCooldown(); float SingleTripTime = 0.f; @@ -58,7 +62,7 @@ protected: virtual void SetupInputComponent() override; virtual void BeginPlay() override; void CheckTimeSync(float DeltaTime); - void HandleMatchHasStarted(); + void HandleMatchHasStarted(bool bTeamsMatch = false); void SetHUDTime(); void PollInit(); @@ -93,6 +97,12 @@ protected: UFUNCTION(Client, Reliable) void ClientElimAnnouncement(APlayerState* Attacker, APlayerState* Victim); + + UPROPERTY(ReplicatedUsing = OnRep_ShowTeamScores) + bool bShowTeamScores = false; + + UFUNCTION() + void OnRep_ShowTeamScores(); private: UPROPERTY()