From e93a80d107524ee19c73e9e3ef7befbcf9c3b691 Mon Sep 17 00:00:00 2001 From: Kingsmedia Date: Mon, 9 May 2022 19:35:28 +0200 Subject: [PATCH] 111 - Carried Ammo --- .../HUD/WBP_CharacterOverlay.uasset | Bin 42584 -> 45633 bytes Source/Blaster/Components/CombatComponent.cpp | 5 +++++ Source/Blaster/Components/CombatComponent.h | 10 ++++++++++ Source/Blaster/HUD/CharacterOverlay.h | 3 +++ .../BlasterPlayerController.cpp | 15 +++++++++++++++ .../BlasterPlayerController.h | 1 + Source/Blaster/Weapon/WeaponTypes.h | 9 +++++++++ 7 files changed, 43 insertions(+) create mode 100644 Source/Blaster/Weapon/WeaponTypes.h diff --git a/Content/Blueprints/HUD/WBP_CharacterOverlay.uasset b/Content/Blueprints/HUD/WBP_CharacterOverlay.uasset index b31c20afa8f945b90030ce8dde7e2572231e46d6..18c0edc75511afa5d1e14f614effa8f519f400db 100644 GIT binary patch literal 45633 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 ZfFjI5HpPh)Cs53xs2$Pf3rF7i{{gp6al`-s literal 42584 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

|AhYi1||$h7(8g;;Kaj*CLVN9;@DB6haEO) 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 diff --git a/Source/Blaster/Components/CombatComponent.cpp b/Source/Blaster/Components/CombatComponent.cpp index 7e3468e..6cf456e 100644 --- a/Source/Blaster/Components/CombatComponent.cpp +++ b/Source/Blaster/Components/CombatComponent.cpp @@ -25,6 +25,7 @@ void UCombatComponent::GetLifetimeReplicatedProps(TArray& Out Super::GetLifetimeReplicatedProps(OutLifetimeProps); DOREPLIFETIME(UCombatComponent, EquippedWeapon); + DOREPLIFETIME_CONDITION(UCombatComponent, CarriedAmmo, COND_OwnerOnly); DOREPLIFETIME(UCombatComponent, bAiming); } @@ -216,6 +217,10 @@ bool UCombatComponent::CanFire() return !EquippedWeapon->IsEmpty() || !bCanFire; } +void UCombatComponent::OnRep_CarriedAmmo() +{ +} + void UCombatComponent::ServerFire_Implementation(const FVector_NetQuantize& TraceHitTarget) { MulticastFire(TraceHitTarget); diff --git a/Source/Blaster/Components/CombatComponent.h b/Source/Blaster/Components/CombatComponent.h index ce1fc43..c8c8686 100644 --- a/Source/Blaster/Components/CombatComponent.h +++ b/Source/Blaster/Components/CombatComponent.h @@ -4,6 +4,7 @@ #include "CoreMinimal.h" #include "Blaster/HUD/BlasterHUD.h" +#include "Blaster/Weapon/WeaponTypes.h" #include "Components/ActorComponent.h" #include "CombatComponent.generated.h" @@ -100,4 +101,13 @@ private: void FireTimerFinished(); bool CanFire(); + + // Carried ammo for the currently equipped weapon + UPROPERTY(ReplicatedUsing=OnRep_CarriedAmmo) + int32 CarriedAmmo; + + UFUNCTION() + void OnRep_CarriedAmmo(); + + TMap CarriedAmmoMap; }; diff --git a/Source/Blaster/HUD/CharacterOverlay.h b/Source/Blaster/HUD/CharacterOverlay.h index e996edf..58c181f 100644 --- a/Source/Blaster/HUD/CharacterOverlay.h +++ b/Source/Blaster/HUD/CharacterOverlay.h @@ -31,4 +31,7 @@ public: UPROPERTY(meta = (BindWidget)) UTextBlock* WeaponAmmoValue; + UPROPERTY(meta = (BindWidget)) + UTextBlock* CarriedAmmoValue; + }; diff --git a/Source/Blaster/PlayerController/BlasterPlayerController.cpp b/Source/Blaster/PlayerController/BlasterPlayerController.cpp index ada3f41..7c1ed29 100644 --- a/Source/Blaster/PlayerController/BlasterPlayerController.cpp +++ b/Source/Blaster/PlayerController/BlasterPlayerController.cpp @@ -89,3 +89,18 @@ void ABlasterPlayerController::SetHUDWeaponAmmo(int32 Ammo) BlasterHUD->CharacterOverlay->WeaponAmmoValue->SetText(FText::FromString(WeaponAmmoAmount)); } } + +void ABlasterPlayerController::SetHUDCarriedAmmo(int32 Ammo) +{ + BlasterHUD = BlasterHUD == nullptr ? Cast(GetHUD()) : BlasterHUD; + bool bHUDValid = + BlasterHUD && + BlasterHUD->CharacterOverlay && + BlasterHUD->CharacterOverlay->CarriedAmmoValue; + + if (bHUDValid) + { + const FString CarriedAmmoAmount = FString::Printf(TEXT("%d"), Ammo); + BlasterHUD->CharacterOverlay->CarriedAmmoValue->SetText(FText::FromString(CarriedAmmoAmount)); + } +} diff --git a/Source/Blaster/PlayerController/BlasterPlayerController.h b/Source/Blaster/PlayerController/BlasterPlayerController.h index ace19be..44d3b9b 100644 --- a/Source/Blaster/PlayerController/BlasterPlayerController.h +++ b/Source/Blaster/PlayerController/BlasterPlayerController.h @@ -20,6 +20,7 @@ public: void SetHUDScore(float Score); void SetHUDDefeats(int32 Defeats); void SetHUDWeaponAmmo(int32 Ammo); + void SetHUDCarriedAmmo(int32 Ammo); virtual void OnPossess(APawn* InPawn) override; protected: diff --git a/Source/Blaster/Weapon/WeaponTypes.h b/Source/Blaster/Weapon/WeaponTypes.h new file mode 100644 index 0000000..cd36a2a --- /dev/null +++ b/Source/Blaster/Weapon/WeaponTypes.h @@ -0,0 +1,9 @@ +#pragma once + +UENUM(BlueprintType) +enum class EWeaponType: uint8 +{ + EWT_AssaultRifle UMETA(DisplayName="Assault Rifle"), + + EWT_MAX UMETA(DisplayName="DefaultMAX") +}; \ No newline at end of file