#pragma once

#include "CoreMinimal.h"
#include "StoreCharactersBioViewInterface.h"
#include "CoreBaseUserWidget.h"
#include "ERightStickMode.h"
#include "CoreStoreCharactersBioWidget.generated.h"

class UDBDTextBlock;
class UCoreCharacterPerksWidget;
class UDBDScrollBox;

UCLASS(Blueprintable, EditInlineNew)
class DBDUIVIEWSCORE_API UCoreStoreCharactersBioWidget : public UCoreBaseUserWidget, public IStoreCharactersBioViewInterface
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Export)
	UDBDTextBlock* AttributeSpeedTB;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Export)
	UDBDTextBlock* AttributeTerrorRadiusTB;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Export)
	UDBDTextBlock* AttributeSizeTB;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Export)
	UCoreCharacterPerksWidget* CharacterPerks;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText _speedTooltipText;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText _terrorRadiusTooltipText;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText _heightTooltipText;

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Export, meta=(AllowPrivateAccess=true))
	UDBDScrollBox* CharacterBioScrollBox;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	ERightStickMode _rightStickMode;

public:
	UFUNCTION(BlueprintCallable)
	void SetRightStickMode(ERightStickMode rightStickMode);

	UFUNCTION(BlueprintPure)
	ERightStickMode GetRightStickMode() const;

	UFUNCTION(BlueprintPure)
	UDBDScrollBox* GetCharacterBioScrollBox() const;

public:
	UCoreStoreCharactersBioWidget();
};

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