#pragma once

#include "CoreMinimal.h"
#include "ESkillCheckCustomType.h"
#include "SkillCheckResponse.generated.h"

class UChargeableInteractionDefinition;

USTRUCT(BlueprintType)
struct FSkillCheckResponse
{
	GENERATED_BODY()

public:
	UPROPERTY(BlueprintReadWrite, Transient)
	float ChargeChange;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsTriggeredByInput;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsSuccessful;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsBonus;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsInsane;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool IsTriggeringLoudNoise;

	UPROPERTY(BlueprintReadWrite, Transient)
	bool FailedCountedAsSuccess;

	UPROPERTY(BlueprintReadWrite, Transient)
	ESkillCheckCustomType Type;

	UPROPERTY(BlueprintReadWrite, Transient, Instanced)
	UChargeableInteractionDefinition* Interaction;

	UPROPERTY(Transient)
	uint32 VerificationKey;

public:
	DEADBYDAYLIGHT_API FSkillCheckResponse();
};

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