#pragma once

#include "CoreMinimal.h"
#include "Perception/PawnSensingComponent.h"
#include "DBDPawnSensingComponent.generated.h"

class UExecutionTimeBudgetManagerSystem;

UCLASS(Blueprintable, meta=(BlueprintSpawnableComponent))
class DEADBYDAYLIGHT_API UDBDPawnSensingComponent : public UPawnSensingComponent
{
	GENERATED_BODY()

public:
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	bool bSenseEverywhere;

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	float PartiallyHiddenSensingDistance;

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, meta=(AllowPrivateAccess=true))
	double _timeBudgetMs;

	UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Transient, meta=(AllowPrivateAccess=true))
	UExecutionTimeBudgetManagerSystem* _timeBudgetManager;

public:
	UDBDPawnSensingComponent();
};

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