#pragma once

#include "CoreMinimal.h"
#include "HudPresenter.h"
#include "UObject/SoftObjectPtr.h"
#include "EGameState.h"
#include "PlayerStatusContainerPresenter.generated.h"

class UUserWidget;
class ADBDPlayerState;

UCLASS(Blueprintable, EditInlineNew)
class DBDUIPRESENTERS_API UPlayerStatusContainerPresenter : public UHudPresenter
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSoftClassPtr<UUserWidget> CorePlayerStatusContainerWidgetClass;

private:
	UFUNCTION(BlueprintCallable)
	void OnPlayerGameStateChanged(ADBDPlayerState* playerState, const EGameState gameState);

public:
	UPlayerStatusContainerPresenter();
};

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