From 486991daf06309e499e7aede5827927b1f795e0b Mon Sep 17 00:00:00 2001 From: baz Date: Mon, 7 Apr 2025 23:23:18 +0100 Subject: [PATCH] Add Enemy Damaged and Death sounds --- Content/Enemy/DA_Enemy.uasset | 4 ++-- Content/Sounds/Enemies/MS_EnemyDamaged.uasset | 3 +++ Content/Sounds/Enemies/MS_EnemyKilled.uasset | 3 +++ Source/vampires/EnemyCharacter.cpp | 13 +++++++++++++ Source/vampires/EnemyDataAsset.h | 6 ++++++ Source/vampires/VampireCharacter.h | 6 ++++++ 6 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 Content/Sounds/Enemies/MS_EnemyDamaged.uasset create mode 100644 Content/Sounds/Enemies/MS_EnemyKilled.uasset diff --git a/Content/Enemy/DA_Enemy.uasset b/Content/Enemy/DA_Enemy.uasset index 2bce49c..e4e9fe0 100644 --- a/Content/Enemy/DA_Enemy.uasset +++ b/Content/Enemy/DA_Enemy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb5fb53d89555860c22baa4ea00e5c345d4eaccd3b7d6da4dfffb13cad0dc694 -size 1947 +oid sha256:690b2cb021e73a85c973489dd7b4c0baaad38fadc788d88e870b04716d73c6fd +size 2409 diff --git a/Content/Sounds/Enemies/MS_EnemyDamaged.uasset b/Content/Sounds/Enemies/MS_EnemyDamaged.uasset new file mode 100644 index 0000000..f13d1ac --- /dev/null +++ b/Content/Sounds/Enemies/MS_EnemyDamaged.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ac48afa9c04350d324562c1abaa64485b488aaa1ad93b611f5500c3a8587897 +size 103404 diff --git a/Content/Sounds/Enemies/MS_EnemyKilled.uasset b/Content/Sounds/Enemies/MS_EnemyKilled.uasset new file mode 100644 index 0000000..2283854 --- /dev/null +++ b/Content/Sounds/Enemies/MS_EnemyKilled.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41226bdc30cd373182f2a7bb07d9ce86da3ea40554987c48084cb9419826d8d1 +size 184866 diff --git a/Source/vampires/EnemyCharacter.cpp b/Source/vampires/EnemyCharacter.cpp index bfbcfbf..8ab0993 100644 --- a/Source/vampires/EnemyCharacter.cpp +++ b/Source/vampires/EnemyCharacter.cpp @@ -50,6 +50,10 @@ UBehaviorTree* AEnemyCharacter::GetBehaviorTree() void AEnemyCharacter::OnDamaged(FDamageInfo damageInfo) { + if (OnDamagedSound) + { + UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDamagedSound, GetActorLocation()); + } } void AEnemyCharacter::OnDeath(FDamageInfo damageInfo) @@ -71,6 +75,11 @@ void AEnemyCharacter::OnDeath(FDamageInfo damageInfo) } } } + + if (OnDeathSound) + { + UGameplayStatics::PlaySoundAtLocation(GetWorld(), OnDeathSound, GetActorLocation()); + } } void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* enemyDataAsset) @@ -80,6 +89,8 @@ void AEnemyCharacter::LoadDataFromDataAsset_Implementation(UEnemyDataAsset* enem StaticMeshComponent->SetStaticMesh(enemyDataAsset->StaticMesh); BehaviorTree = enemyDataAsset->BehaviorTree; PickupTemplate = enemyDataAsset->PickupDataAsset; + OnDamagedSound = enemyDataAsset->OnDamagedSoundBase; + OnDeathSound = enemyDataAsset->OnDeathSoundBase; } } @@ -88,6 +99,8 @@ void AEnemyCharacter::ResetData_Implementation() StaticMeshComponent->SetStaticMesh(nullptr); BehaviorTree = nullptr; PickupTemplate = nullptr; + OnDamagedSound = nullptr; + OnDeathSound = nullptr; } float AEnemyCharacter::GetCapsuleRadius_Implementation() diff --git a/Source/vampires/EnemyDataAsset.h b/Source/vampires/EnemyDataAsset.h index c10ccf5..f4005c6 100644 --- a/Source/vampires/EnemyDataAsset.h +++ b/Source/vampires/EnemyDataAsset.h @@ -27,4 +27,10 @@ public: UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true")) UPickupDataAsset* PickupDataAsset = nullptr; + + UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true")) + TObjectPtr OnDamagedSoundBase = nullptr; + + UPROPERTY(EditDefaultsOnly, Meta = (AllowPrivateAccess = "true")) + TObjectPtr OnDeathSoundBase = nullptr; }; diff --git a/Source/vampires/VampireCharacter.h b/Source/vampires/VampireCharacter.h index 3dfe603..12e622c 100644 --- a/Source/vampires/VampireCharacter.h +++ b/Source/vampires/VampireCharacter.h @@ -36,6 +36,12 @@ protected: UPROPERTY(EditAnywhere, BlueprintReadWrite) UWeaponInventoryComponent* WeaponInventoryComponent; + UPROPERTY(EditAnywhere, BlueprintReadWrite) + USoundBase* OnDamagedSound; + + UPROPERTY(EditAnywhere, BlueprintReadWrite) + USoundBase* OnDeathSound; + public: // Sets default values for this character's properties AVampireCharacter();