#pragma once

#include "CoreMinimal.h"
#include "InteractionDefinition.h"
#include "DBDTunableRowHandle.h"
#include "InvitationInteractionDefinition.generated.h"

class AActor;

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

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	FDBDTunableRowHandle _abilityRange;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	bool _shouldResetTargetOnInteractionFinished;

private:
	UFUNCTION(BlueprintCallable, Server, Reliable)
	void Server_TrySetInvitationTarget(AActor* target);

public:
	UInvitationInteractionDefinition();
};

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