#pragma once

#include "CoreMinimal.h"
#include "MobileBaseUserWidget.h"
#include "Styling/SlateColor.h"
#include "UMGGenericPopup.generated.h"

class URichTextBlock;
class UUMGHtmlRichText;
class UImage;
class UUMGPopupButton;

UCLASS(Blueprintable, Abstract, EditInlineNew)
class UUMGGenericPopup : public UMobileBaseUserWidget
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	URichTextBlock* Title;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UUMGHtmlRichText* Message;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UImage* TitleBackground;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UImage* TitleSmoke;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UUMGPopupButton* RegressionPopupButton;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UUMGPopupButton* AlternativePopupButton;

	UPROPERTY(BlueprintReadWrite, meta=(BindWidgetOptional))
	UUMGPopupButton* ProgressionPopupButton;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FSlateColor ErrorTitleSmokeColor;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FSlateColor ErrorTitleBackgroundColor;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FSlateColor DefaultTitleSmokeColor;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FSlateColor DefaultTitleBackgroundColor;

public:
	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void OnPopupDisappearance();

	UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
	void OnPopupAppearance();

public:
	UUMGGenericPopup();
};

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