#include "DBDPlayerController.h"
#include "PlayerFinishStats.h"
#include "Net/UnrealNetwork.h"

class ADBDPlayerState;
class ADBDPlayer;
class APawn;

void ADBDPlayerController::ServerViewPlayer_Implementation(const FString& playerName)
{

}

void ADBDPlayerController::Server_ViewPlayerWithId_Implementation(const FString& playerId)
{

}

void ADBDPlayerController::Server_SetSpectatorModeInEditor_Implementation(bool on, ADBDPlayerState* spectatingPlayerState)
{

}

bool ADBDPlayerController::Server_SetSpectatorModeInEditor_Validate(bool on, ADBDPlayerState* spectatingPlayerState)
{
	return true;
}

void ADBDPlayerController::Server_SetSpectatorMode_Implementation(bool on)
{

}

void ADBDPlayerController::Server_SetReadyToTravel_Implementation()
{

}

void ADBDPlayerController::Server_RequestEndGame_Implementation()
{

}

void ADBDPlayerController::Server_NotifyHasMoved_Implementation()
{

}

void ADBDPlayerController::Server_LeaveGame_Implementation(bool joiningLobby)
{

}

void ADBDPlayerController::Server_InitiateSecretRewardProcess_Implementation(const TArray<FName>& unclaimedIds)
{

}

void ADBDPlayerController::Server_ForceGameObjectivesCompleted_Implementation(bool completed)
{

}

bool ADBDPlayerController::Server_ForceGameObjectivesCompleted_Validate(bool completed)
{
	return true;
}

void ADBDPlayerController::Server_DebugSend_Implementation(const FString& data)
{

}

void ADBDPlayerController::Server_ClientTimeSinceLastLoadingProgress_Implementation(float lastProgression)
{

}

void ADBDPlayerController::OnRep_Fence()
{

}

bool ADBDPlayerController::MobileJoystickInput_Pressed(int32 joystickIndex) const
{
	return false;
}

bool ADBDPlayerController::IsSpectating() const
{
	return false;
}

void ADBDPlayerController::ImplementRunLockMechanic()
{

}

ADBDPlayerState* ADBDPlayerController::GetSpectatedPlayerState() const
{
	return NULL;
}

ADBDPlayer* ADBDPlayerController::GetSpectatedPlayer() const
{
	return NULL;
}

ADBDPlayer* ADBDPlayerController::GetControlledPlayer() const
{
	return NULL;
}

APawn* ADBDPlayerController::GetAIPawn() const
{
	return NULL;
}

void ADBDPlayerController::Client_SpectateAI_Implementation(APawn* aiPawn)
{

}

void ADBDPlayerController::Client_SetSpectatorModeInEditor_Implementation(bool on, ADBDPlayerState* spectatingPlayerState)
{

}

void ADBDPlayerController::Client_SetSpectatorMode_Implementation(bool on)
{

}

void ADBDPlayerController::Client_SetPlayerFinishStats_Implementation(const FPlayerFinishStats& stats)
{

}

void ADBDPlayerController::ActivateAI(bool activate, int32 playerRank)
{

}

void ADBDPlayerController::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{
	Super::GetLifetimeReplicatedProps(OutLifetimeProps);

	DOREPLIFETIME(ADBDPlayerController, _theFence);
}

ADBDPlayerController::ADBDPlayerController()
{
	this->_controllerGameRole = EPlayerRole::VE_None;
}
