// Oleg Petruny proprietary.

#pragma once

#include "Blueprint/UserWidget.h"
#include "CoreMinimal.h"

#include "InteractableHintWidgetManager.generated.h"

enum class EActivatorType : uint8;

UCLASS(Blueprintable)
class UInteractableHintWidgetManager : public UUserWidget
{
    GENERATED_BODY()

public:
    UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
    void Append(const class UInteractableModificator* modificator);
    virtual void Append_Implementation(const class UInteractableModificator* modificator) {}

    UFUNCTION(BlueprintNativeEvent, BlueprintCallable)
    void Remove(EActivatorType type);
    virtual void Remove_Implementation(EActivatorType type) {}

protected:
    UPROPERTY(EditDefaultsOnly)
    TSubclassOf<class UInteractableHintWidget> interactableHintPressWidgetClass;
    class UInteractableHintWidget* interactableHintPressWidget;

    UPROPERTY(EditDefaultsOnly)
    TSubclassOf<class UInteractableHintWidget> interactableHintHoldWidgetClass;
    class UInteractableHintWidget* interactableHintHoldWidget;

};
