From 4af26afe06cc0ae946f5c9a39b4440cea6072708 Mon Sep 17 00:00:00 2001 From: baz Date: Mon, 7 Apr 2025 23:40:01 +0100 Subject: [PATCH] Add Player Damaged and Death Sounds --- Content/Player/BP_PlayerCharacter.uasset | 4 ++-- Content/Sounds/Player/MS_PlayerDamaged.uasset | 3 +++ Content/Sounds/Player/MS_PlayerKilled.uasset | 3 +++ Source/vampires/PlayerCharacter.cpp | 22 +++++++++++++++++++ Source/vampires/PlayerCharacter.h | 7 ++++++ Source/vampires/VampireCharacter.h | 1 + 6 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 Content/Sounds/Player/MS_PlayerDamaged.uasset create mode 100644 Content/Sounds/Player/MS_PlayerKilled.uasset diff --git a/Content/Player/BP_PlayerCharacter.uasset b/Content/Player/BP_PlayerCharacter.uasset index 7533b66..d35bf2b 100644 --- a/Content/Player/BP_PlayerCharacter.uasset +++ b/Content/Player/BP_PlayerCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6375a689dee17034a705afd794f0c8374fffd22927120433a4ef9fe297a36890 -size 56054 +oid sha256:2b9e34f16c2ea0c5fe30c23513aa68da450762ae85729caa5a7be4c3fa83c212 +size 57110 diff --git a/Content/Sounds/Player/MS_PlayerDamaged.uasset b/Content/Sounds/Player/MS_PlayerDamaged.uasset new file mode 100644 index 0000000..288e7ec --- /dev/null +++ b/Content/Sounds/Player/MS_PlayerDamaged.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63bf87922f76337d063644fdb2e773fa62a8cc4839a66a5e81373323e20aa01c +size 103408 diff --git a/Content/Sounds/Player/MS_PlayerKilled.uasset b/Content/Sounds/Player/MS_PlayerKilled.uasset new file mode 100644 index 0000000..d7d5b1c --- /dev/null +++ b/Content/Sounds/Player/MS_PlayerKilled.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:df6a644e385d1fcbfde6259251020284166fd7008230ed137b43ea3a275372b7 +size 184869 diff --git a/Source/vampires/PlayerCharacter.cpp b/Source/vampires/PlayerCharacter.cpp index 7ff91b1..61969fe 100644 --- a/Source/vampires/PlayerCharacter.cpp +++ b/Source/vampires/PlayerCharacter.cpp @@ -8,6 +8,7 @@ #include "EnhancedInputSubsystems.h" #include "EXPComponent.h" #include "GoldComponent.h" +#include "HealthComponent.h" #include "InputMappingContext.h" #include "WeaponInventoryComponent.h" #include "Components/WidgetComponent.h" @@ -33,6 +34,9 @@ APlayerCharacter::APlayerCharacter() void APlayerCharacter::BeginPlay() { Super::BeginPlay(); + + GetHealthComponent()->OnDamaged.AddDynamic(this, &APlayerCharacter::OnDamaged); + GetHealthComponent()->OnDeath.AddDynamic(this, &APlayerCharacter::OnDeath); } void APlayerCharacter::Tick(float DeltaTime) @@ -66,3 +70,21 @@ UGoldComponent* APlayerCharacter::GetGoldComponent() { return GoldComponent; } + +void APlayerCharacter::OnDamaged(FDamageInfo damageInfo) +{ + if (OnDamagedSound) + { + UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDamagedSound, GetActorLocation()); + } +} + +void APlayerCharacter::OnDeath(FDamageInfo damageInfo) +{ + if (OnDeathSound) + { + UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDeathSound, GetActorLocation()); + } + + // TODO: End the game +} diff --git a/Source/vampires/PlayerCharacter.h b/Source/vampires/PlayerCharacter.h index 2be31e7..82e54d7 100644 --- a/Source/vampires/PlayerCharacter.h +++ b/Source/vampires/PlayerCharacter.h @@ -43,4 +43,11 @@ public: UEXPComponent* GetEXPComponent(); UGoldComponent* GetGoldComponent(); + +private: + UFUNCTION() + virtual void OnDamaged(FDamageInfo damageInfo); + + UFUNCTION() + virtual void OnDeath(FDamageInfo damageInfo); }; diff --git a/Source/vampires/VampireCharacter.h b/Source/vampires/VampireCharacter.h index 12e622c..d6445a6 100644 --- a/Source/vampires/VampireCharacter.h +++ b/Source/vampires/VampireCharacter.h @@ -26,6 +26,7 @@ public: UPROPERTY(BlueprintReadWrite, EditAnywhere) float SlerpSpeed = 10.0f; + protected: UPROPERTY(VisibleAnywhere) UHealthComponent* HealthComponent;