인프런 커뮤니티 질문&답변

윈드로니님의 프로필 이미지
윈드로니

작성한 질문수

[Rookiss University] UE5 Lyra 클론 코딩 (Haker)

Experience Load #4

OnExperienceLoaded 함수에서 PlayerCanRestart에서 false가 나옵니다.

작성

·

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);

}

}

}

}

답변 1

0

민규이님의 프로필 이미지
민규이
지식공유자

혹시 Stand Alone이 아니라 Client로 하셨나요?

윈드로니님의 프로필 이미지
윈드로니
질문자

말씀주신 부분을 보고 모드를 확인해보니 simulate mode로 되어있었습니다.
Selected Viewport로 변경하니 잘 되네요. 감사합니다. (__)

민규이님의 프로필 이미지
민규이
지식공유자

항상 언리얼은 이런 사소한게 어렵죠 ㅎㅎ

윈드로니님의 프로필 이미지
윈드로니

작성한 질문수

질문하기