#pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "EInputKeys.h" #include "ActivationObject.generated.h" class APlayerCharacter; class USingleUsableComponent; UCLASS(Abstract, Blueprintable) class AActivationObject : public AActor { GENERATED_BODY() public: protected: UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, meta=(AllowPrivateAccess=true)) USingleUsableComponent* Usable; UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true)) bool HasBeenUsed; public: AActivationObject(); protected: UFUNCTION(BlueprintCallable) void OnUsedBy(APlayerCharacter* User, EInputKeys Key); };