diff --git a/Source/vampires/EnemyCharacter.cpp b/Source/vampires/EnemyCharacter.cpp index 1018a48..f2b6968 100644 --- a/Source/vampires/EnemyCharacter.cpp +++ b/Source/vampires/EnemyCharacter.cpp @@ -73,8 +73,9 @@ void AEnemyCharacter::OnDeath(FDamageInfo damageInfo) if (UKismetSystemLibrary::DoesImplementInterface(pickup, UPickupable::StaticClass())) { - pickup->SetActorLocation(GetActorLocation()); - IPickupable::Execute_LoadDataFromDataAsset(pickup, PickupTemplate); + FVector pickupLocation = GetActorLocation(); + pickup->SetActorLocation(pickupLocation); + IPickupable::Execute_LoadDataFromDataAsset(pickup, PickupTemplate, pickupLocation); } } } diff --git a/Source/vampires/Interfaces/Pickupable.h b/Source/vampires/Interfaces/Pickupable.h index 8a1bd28..069293f 100644 --- a/Source/vampires/Interfaces/Pickupable.h +++ b/Source/vampires/Interfaces/Pickupable.h @@ -24,7 +24,7 @@ class VAMPIRES_API IPickupable // Add interface functions to this class. This is the class that will be inherited to implement this interface. public: UFUNCTION(BlueprintNativeEvent) - void LoadDataFromDataAsset(UPickupDataAsset* PickupDataAsset); + void LoadDataFromDataAsset(UPickupDataAsset* PickupDataAsset, FVector Location); UFUNCTION(BlueprintNativeEvent) void ResetData(); diff --git a/Source/vampires/Pickup.cpp b/Source/vampires/Pickup.cpp index 1930751..0f89bce 100644 --- a/Source/vampires/Pickup.cpp +++ b/Source/vampires/Pickup.cpp @@ -60,7 +60,7 @@ void APickup::BeginPlay() } } -void APickup::LoadDataFromDataAsset_Implementation(UPickupDataAsset* PickupDataAsset) +void APickup::LoadDataFromDataAsset_Implementation(UPickupDataAsset* PickupDataAsset, FVector Location) { if (PickupDataAsset != nullptr) { @@ -68,7 +68,7 @@ void APickup::LoadDataFromDataAsset_Implementation(UPickupDataAsset* PickupDataA StaticMeshComponent->SetStaticMesh(PickupDataAsset->PickupStaticMesh); PickupSoundBase = PickupDataAsset->PickupSoundBase; CurveFloat = PickupDataAsset->CurveFloat; - PickupLocation = GetActorLocation(); + PickupLocation = Location; if (CurveFloat != nullptr) { diff --git a/Source/vampires/Pickup.h b/Source/vampires/Pickup.h index dedb8b9..b4c3de8 100644 --- a/Source/vampires/Pickup.h +++ b/Source/vampires/Pickup.h @@ -53,7 +53,7 @@ protected: // Called when the game starts or when spawned virtual void BeginPlay() override; - virtual void LoadDataFromDataAsset_Implementation(UPickupDataAsset* PickupDataAsset) override; + virtual void LoadDataFromDataAsset_Implementation(UPickupDataAsset* PickupDataAsset, FVector Location) override; virtual void ResetData_Implementation() override;