#pragma once

#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "EffectCardViewData.h"
#include "HudEffectCardViewInterface.generated.h"

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

class DBDUIVIEWINTERFACES_API IHudEffectCardViewInterface : public IInterface
{
	GENERATED_BODY()

public:
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void UpdateTimerFeedback(const float elapsedTime);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetMatchPoints(const int32 points);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void SetData(const TArray<FEffectCardViewData>& effectCardsViewData, const int32 activeCardIndex, const int32 points, const float activeCardTime);

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void FadeOut();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void FadeIn();

	UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
	void ActivateNextCard();

};
