// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Components/SphereComponent.h" #include "MonolithCharacter.h" #include "TP_PickUpComponent.generated.h" // Declaration of the delegate that will be called when someone picks this up // The character picking this up is the parameter sent with the notification DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPickUp, AMonolithCharacter*, PickUpCharacter); UCLASS(Blueprintable, BlueprintType, ClassGroup = (Custom), meta = (BlueprintSpawnableComponent)) class MONOLITH_API UTP_PickUpComponent : public USphereComponent { GENERATED_BODY() public: /** Delegate to whom anyone can subscribe to receive this event */ UPROPERTY(BlueprintAssignable, Category = "Interaction") FOnPickUp OnPickUp; UTP_PickUpComponent(); protected: /** Called when the game starts */ virtual void BeginPlay() override; /** Code for when something overlaps this component */ UFUNCTION() void OnSphereBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult); };