#pragma once

#include "CoreMinimal.h"
#include "SpecialBehaviourItem.h"
#include "ChallengeConditionItem.h"
#include "ChallengeQuestParameter.h"
#include "EChallengeType.h"
#include "ChallengeListOverrideItemData.generated.h"

USTRUCT(BlueprintType)
struct FChallengeListOverrideItemData
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	int32 RepetitionOverride;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	int32 NeededProgressionOverride;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TSet<int32> NeededProgressionsOverride;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FSpecialBehaviourItem SpecialBehaviourOverride;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<FChallengeConditionItem> ConditionsOverride;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<FChallengeQuestParameter> ParametersOverride;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	FString QuestId;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	EChallengeType ChallengeType;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool CountMatch;

public:
	DEADBYDAYLIGHT_API FChallengeListOverrideItemData();
};

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