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

#pragma once

#include "CoreMinimal.h"
#include "InteractionTarget.h"
#include "Components/ActorComponent.h"
#include "InteractionManager.generated.h"


UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class NAKEDDESIRE_API UInteractionManager : public UActorComponent
{
	GENERATED_BODY()

	UPROPERTY()
	TArray<TScriptInterface<IInteractionTarget>> InteractionTargets;

public:
	UInteractionManager();

	void OnTargetEnter(const TScriptInterface<IInteractionTarget>& Target);
	void OnTargetExit(const TScriptInterface<IInteractionTarget>& Target);

	UFUNCTION(BlueprintCallable)
	TScriptInterface<IInteractionTarget> GetNearestInteractionTarget();
};
