#pragma once

#include "CoreMinimal.h"
#include "InteractionDefinition.h"
#include "Templates/SubclassOf.h"
#include "PlaceDreamPalletInteraction.generated.h"

class UPalletTrackerVisibilityComponent;
class APallet;

UCLASS(Blueprintable, Abstract, EditInlineNew, meta=(BlueprintSpawnableComponent))
class UPlaceDreamPalletInteraction : public UInteractionDefinition
{
	GENERATED_BODY()

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	TSubclassOf<UPalletTrackerVisibilityComponent> _visibilityComponentClass;

protected:
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent, BlueprintCosmetic)
	void Cosmetic_DespawnOldDreamPallet(APallet* oldDreamPallet);

public:
	UPlaceDreamPalletInteraction();
};

FORCEINLINE uint32 GetTypeHash(const UPlaceDreamPalletInteraction) { return 0; }
