Inflearn brand logo image

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

두루미의왕님의 프로필 이미지
두루미의왕

작성한 질문수

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

GameFeatureAction_AddInput #2

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

해결된 질문

작성

·

20

0

안녕하세요

GameFeatureAction_AddInput #2 강의를 보면서 왜 WorldContext를 사용하는지 이해를 마쳤는데

 

아래 함수에서 이미 PIE의 현재 World의 WorldContext를 가져오고 그 Context에서 FGameFeatureActivatingContext의 데이터를 세팅한 후 OnGameFeatureActivating의 인자로 보내주잖아용

void ULCExperienceManagerComponent::OnExperienceFullLoadCompleted()
{
	...
		FGameFeatureActivatingContext Context;
		{
			UWorld* World = GetWorld();
 			const FWorldContext* ExistingWorldContext = GEngine->GetWorldContextFromWorld(World);
			if (ExistingWorldContext)
			{
				Context.SetRequiredWorldContextHandle(ExistingWorldContext->ContextHandle);	
			}
		}
		auto ActivateListOfActions = [&Context](const TArray<UGameFeatureAction*>&	ActionList)
		{
			for (UGameFeatureAction* Action : ActionList)
			{
				if (Action)
				{
					Action->OnGameFeatureActivating(Context);
				}
			}
		};
...
	}
	...
}

 

그런데 왜 UGameFeatureAction_WorldActionBase::OnGameFeatureActivating에서

굳이 WorldContext를 순회하면서 다시 체킹하는식으로 코드를 만들었을까? 제가 이해를 못한 부분이 있나? 의문이 들어서 질문을 남깁니다.

OnGameFeatureActivating의 인자로 FWorldContext도 받으면 되지 않나? 라는 생각이 들어서요..

답변 1

1

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

제 강의에서는 WorldContext만 사용하지만 Context라는 명칭에 맞게 이것 외에도 다양한 정보를 전달할 수 있기 위해서 입니다.

확장성을 고려한 방식이라고 생각하시면 좋을 것 같아요.

두루미의왕님의 프로필 이미지
두루미의왕

작성한 질문수

질문하기