// © 2025 Naked People Team. All Rights Reserved.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "NakedDesire/InteractionSystem/InteractionTarget.h"
#include "InteractableBase.generated.h"

class ANakedDesireCharacter;
class UWidgetComponent;

UCLASS()
class NAKEDDESIRE_API AInteractableBase : public AActor, public IInteractionTarget
{
	GENERATED_BODY()

	UPROPERTY(EditDefaultsOnly)
	USceneComponent* RootSceneComponent = nullptr;

	UPROPERTY(EditDefaultsOnly)
	USceneComponent* WidgetAnchor = nullptr;

	UPROPERTY(EditDefaultsOnly)
	UWidgetComponent* InteractionTrigger = nullptr;

	UPROPERTY()
	ANakedDesireCharacter* Player = nullptr;

public:
	AInteractableBase();

protected:
	virtual void Tick(float DeltaSeconds) override;
};
