#pragma once

#include "CoreMinimal.h"
#include "SubPresenter.h"
#include "LobbyPerkPreviewerSubPresenter.generated.h"

class UMenuPerkViewData;
class ADBDPlayerState;
class ADBDGameState;

UCLASS(Blueprintable)
class DBDUIPRESENTERS_API ULobbyPerkPreviewerSubPresenter : public USubPresenter
{
	GENERATED_BODY()

private:
	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient, meta=(AllowPrivateAccess=true))
	TArray<UMenuPerkViewData*> _lastPerks;

public:
	UFUNCTION(BlueprintCallable)
	void UpdateData();

private:
	UFUNCTION(BlueprintCallable)
	void OnLocalPlayerDataUpdated(ADBDPlayerState* playerState);

	UFUNCTION(BlueprintCallable)
	void OnGameDataUpdated(ADBDGameState* gameState);

public:
	ULobbyPerkPreviewerSubPresenter();
};

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