#pragma once

#include "CoreMinimal.h"
#include "Subsystems/GameInstanceSubsystem.h"
#include "PlayerJoinWatchdog.generated.h"

class ADBDPlayerState;
class APlayerState;

UCLASS(Blueprintable)
class DEADBYDAYLIGHT_API UPlayerJoinWatchdog : public UGameInstanceSubsystem
{
	GENERATED_BODY()

private:
	UFUNCTION(BlueprintCallable)
	void OnPlayerStateUpdated(ADBDPlayerState* dbdPlayerState);

	UFUNCTION(BlueprintCallable)
	void OnPlayerStateRemoved(APlayerState* playerState);

	UFUNCTION(BlueprintCallable)
	void OnPlayerStateAdded(APlayerState* playerState);

public:
	UPlayerJoinWatchdog();
};

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