inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

PawnExtension #2

PawnExtensionComponent::SetPawnData에서의 CheckDefaultInitialization

해결된 질문

59

Solution C

작성한 질문수 10

0

한바퀴 듣고 이제 데디케이트서버 환경에서 돌아가게 라이라 프로젝트도 참고하면서 다시 클론코딩 하고 있는데, 궁금한 점이 있습니다.

강의와 라이라 프로젝트에서 차이점이 있어서 고민을 해봤는데 잘 모르겠어요.


void ULyraPawnExtensionComponent::SetPawnData(const ULyraPawnData* InPawnData)
{
	check(InPawnData);

	APawn* Pawn = GetPawnChecked<APawn>();

	if (Pawn->GetLocalRole() != ROLE_Authority)
	{
		return;
	}

	if (PawnData)
	{
		UE_LOG(LogLyra, Error, TEXT("Trying to set PawnData [%s] on pawn [%s] that already has valid PawnData [%s]."), *GetNameSafe(InPawnData), *GetNameSafe(Pawn), *GetNameSafe(PawnData));
		return;
	}

	PawnData = InPawnData;

	Pawn->ForceNetUpdate();

	CheckDefaultInitialization();
}

강의랑 차이점은 Pawn->ForceNetUpdate, CheckDefaultInitialization 입니다.

 

넷 업데이트야 멀티플레이어 환경이라 강의에선 안 했지만 CheckDefaultInitialization는 라이라에서 왜 불러주는 걸까요? 이거 여기서 명시적으로 불러줘야 초기화 관리가 되는 걸까요?


BeginPlay에서도 부르고 SetupPlayerInputComponent, OnActorInitStateChanged에서도 어차피 부르고 있는데.

그냥 혹시 뭔 일이 있어서 초기화가 안 됐을 수도 있으니까 추가한 그런 느낌일까요?

 

c++ unreal-engine

답변 1

0

Liu

언리얼 데디케이트의 단점인데 리플리케이트의 경우 흐름 컨트롤을 완벽하게 할 수가 없습니다.

그래서 안전하게 다양한 곳에서 지속적으로 초기화 함수를 호출해준다라고 이해하시면 될 것 같아요.

0

Solution C

PawnExtension #3에 바로 설명해주시네요... 감사합니다.

11강 CallOrRegister_OnExperienceLoaded 질문

0

35

1

Reticle이 안나옵니다.

0

34

2

AddGameFrameworkComponentReceiver vs AddExtensionHandler

0

42

1

B_TeleportToUserFacingExperience가 추가로 생성되지 않습니다.

0

73

2

.

0

66

1

SpawnDefaultPawnAtTransform_Implementation이 호출되지 않습니다.

0

64

2

Input Subsystem 에서 오류가 발생합니다

0

68

1

7강 GameMode와 Modules관련 질문드립니다.

0

61

1

LyraFrontEnd 에서 로딩화면에서 넘어가지 않는 원인이 뭔지 질문드립니다.

0

86

2

리소스 이주했는데 안보이는데 어떻게 해야하나요?

0

95

3

TakeFromAbilitySystem 함수에서 Array 에 대한 remove 는 수행하지 않나요?

0

62

1

CircumferenceMarkerWidget의 bReticleCornerOutsideSpreadRadius 초기화 관련

0

66

1

Pawn 교체, Possess 후 위젯이 이전 값(상태)을 잘못 보여줄 때 처리법이 궁금합니다.

0

81

2

Pawnextension#3 9:19 질문이 있습니다.

0

67

2

Experience 재시작

0

85

2

Log 파트에서 Subtitution Macro Call 를 사용하는 방법이 무엇인가요?

0

87

2

설치후 빌드하는데 에러가 발생하고 인텔리센스도 잘 활성화되지 않습니다.

0

207

1

FPerContextData에 대해 질문이 있어요

0

53

2

OnGameFeatureActivating와 WorldContext관해 질문 있습니다.

0

71

1

GameFeature Action 및 Common UI Widget 생성 관련 질문

0

89

1

가비지컬렉션 관련 질문있습니다.

0

101

3

Travel관련해서 질문 있습니다.

0

66

1

IMC가 먹통이에요

0

96

2

PawnExtension #3 에서 말한 라이라 공식문서가 뭔가요?

0

67

1