#pragma once

#include "CoreMinimal.h"
#include "CoreBaseUserWidget.h"
#include "UObject/SoftObjectPtr.h"
#include "EEmblemQuality.h"
#include "EmblemViewData.h"
#include "EmblemWidget.generated.h"

class UDBDImage;
class UTexture2D;

UCLASS(Blueprintable, EditInlineNew)
class UEmblemWidget : public UCoreBaseUserWidget
{
	GENERATED_BODY()

protected:
	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UDBDImage* Background;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UDBDImage* Icon;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TMap<EEmblemQuality, TSoftObjectPtr<UTexture2D>> BackgroundQualityTextures;

public:
	UFUNCTION(BlueprintCallable)
	void SetData(const FEmblemViewData& viewData);

public:
	UEmblemWidget();
};

FORCEINLINE uint32 GetTypeHash(const UEmblemWidget) { return 0; }
