작성
·
55
0
AHakGameModeBase::OnExperienceLoaded 함수에서
PlayerCanRestart에서 false가 되어서
RestartPlayer로 들어가지 않는데요.
제공한 수업자료의 PDF도 보고 소스도 보고 했지만
원인을 찾기가 힘들어 문의 드려봅니다.
내부적으로 false로 될 만한 부분이 딱히 보이지는 않는데
혹시나 싶어 내부 체크 코드중 아래 부분을 해봤는데
null이 나오긴 하더라구요.
UNetConnection* Connection = Cast<UNetConnection>(PC->Player);
============================
클론해본 코드에 위 코드까지 넣은 코드입니다.
void AHakameModeBase::HandleStartingNewPlayer_Implementation(APlayerController* NewPlayer)
{
if(IsExperienceLoaded())
{
Super::HandleStartingNewPlayer_Implementation(NewPlayer);
void AHakGameModeBase::OnExperienceLoaded(const UGrayExperienceDefinition* CurrentExperience)
{
// PlayerController를 순회하며
for (FConstPlayerControllerIterator Iterator = GetWorld()->GetPlayerControllerIterator(); Iterator; ++Iterator)
{
APlayerController* PC = Cast<APlayerController>(*Iterator);
UNetConnection* Connection = Cast<UNetConnection>(PC->Player);
if(Connection == nullptr)
{
int i = 0;
}
// PlayerController가 Pawn을 Possess하지 않았다면, RestartPlayer를 통해 Pawn을 다시 Spawn한다
// - 한번 OnPossess를 보도록 하자:
if (PC && PC->GetPawn() == nullptr)
{
if (PlayerCanRestart(PC))
{
RestartPlayer(PC);
}
}
}
}
말씀주신 부분을 보고 모드를 확인해보니 simulate mode로 되어있었습니다.
Selected Viewport로 변경하니 잘 되네요. 감사합니다. (__)