#pragma once

#include "CoreMinimal.h"
#include "EChallengeTooltipType.h"
#include "EChallengeTooltipImageType.h"
#include "SoftRemoteContentCacheObjectPtr.h"
#include "ChallengeTooltipCharacterImageData.h"
#include "ChallengeTooltipViewData.generated.h"

class UBaseMenuLoadoutItemViewData;

USTRUCT(BlueprintType)
struct FChallengeTooltipViewData
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText Title;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText Subtitle;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText Objective;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText Description;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FText LockedText;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EChallengeTooltipType ChallengeTooltipType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EChallengeTooltipImageType ImageType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FSoftRemoteContentCacheObjectPtr KeyImage;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<UBaseMenuLoadoutItemViewData*> LoadoutItemsData;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<FChallengeTooltipCharacterImageData> CharacterImageData;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool IsLocked;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool IsCommunityObjective;

public:
	DBDUIVIEWINTERFACES_API FChallengeTooltipViewData();
};

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