diff --git a/Source/vampires/EXPPickup.cpp b/Source/vampires/EXPPickup.cpp index 5f2aa36..45e6397 100644 --- a/Source/vampires/EXPPickup.cpp +++ b/Source/vampires/EXPPickup.cpp @@ -3,6 +3,8 @@ #include "EXPPickup.h" +#include "PlayerCharacter.h" + void AEXPPickup::BeginPlay() { Super::BeginPlay(); @@ -16,7 +18,9 @@ void AEXPPickup::Tick(float DeltaSeconds) void AEXPPickup::OnBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) { - // TODO: Add EXP to player EXP component - - Super::OnBeginOverlap(OverlappedComponent, OtherActor, OtherComp, OtherBodyIndex, bFromSweep, SweepResult); + if (APlayerCharacter* PlayerCharacter = Cast(OtherActor)) + { + PlayerCharacter->GetEXPComponent()->IncrementEXP(EXP); + Super::OnBeginOverlap(OverlappedComponent, OtherActor, OtherComp, OtherBodyIndex, bFromSweep, SweepResult); + } } diff --git a/Source/vampires/EXPPickup.h b/Source/vampires/EXPPickup.h index 9241e69..05fa8dc 100644 --- a/Source/vampires/EXPPickup.h +++ b/Source/vampires/EXPPickup.h @@ -13,7 +13,10 @@ UCLASS() class VAMPIRES_API AEXPPickup : public APickup { GENERATED_BODY() - + +public: + int EXP = 1; + protected: virtual void BeginPlay() override; @@ -21,6 +24,6 @@ public: virtual void Tick(float DeltaSeconds) override; virtual void OnBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, - UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, - const FHitResult& SweepResult) override; + UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, + const FHitResult& SweepResult) override; };