#pragma once

#include "CoreMinimal.h"
#include "Components/ActorComponent.h"
#include "PlayerDebugComponent.generated.h"

UCLASS(Blueprintable, meta=(BlueprintSpawnableComponent))
class DEADBYDAYLIGHT_API UPlayerDebugComponent : public UActorComponent
{
	GENERATED_BODY()

private:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, meta=(AllowPrivateAccess=true))
	bool _disableStartUpdateMontageDuringEnter;

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Replicated, meta=(AllowPrivateAccess=true))
	bool _allowPalletPullUpInteraction;

public:
	UFUNCTION(BlueprintCallable, Client, Reliable)
	void Client_CheatSendKeyPressEvent(const FName& key, const float delayTime, const float releaseTime, bool pressed);

private:
	UFUNCTION(BlueprintCallable)
	void CheatSendKeyPressEvent(const FName key, bool pressed);

public:
	virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;

public:
	UPlayerDebugComponent();
};

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