#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "UObject/ScriptInterface.h"
#include "CompetenceContainerViewInterface.generated.h"

class ISkillViewInterface;
class IPerkViewInterface;

UINTERFACE(Blueprintable)
class DBDUIVIEWINTERFACES_API UCompetenceContainerViewInterface : public UInterface
{
	GENERATED_BODY()
};

class DBDUIVIEWINTERFACES_API ICompetenceContainerViewInterface : public IInterface
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetPerkRevealLayersVisibility(bool isVisible);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void RunPerkRevealSequence();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	TScriptInterface<ISkillViewInterface> GetSkillInterface(int32 index);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	TScriptInterface<IPerkViewInterface> GetPerkInterface(int32 index);

};
