// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include "ModularPlayerController.h"
#include "UObject/UObjectGlobals.h"

#include "CommonPlayerController.generated.h"

class APawn;
class UObject;

UCLASS(config=Game)
class COMMONGAME_API ACommonPlayerController : public AModularPlayerController
{
	GENERATED_BODY()

public:
	ACommonPlayerController(const FObjectInitializer& ObjectInitializer = FObjectInitializer::Get());

	virtual void ReceivedPlayer() override;	
	virtual void SetPawn(APawn* InPawn) override;
	virtual void OnPossess(class APawn* APawn) override;
	virtual void OnUnPossess() override;
	
protected:
	virtual void OnRep_PlayerState() override;
};