AddGameFrameworkComponentReceiver vs AddExtensionHandler
if ((GameInstance != nullptr) && (World != nullptr) && World->IsGameWorld())
{
if (UGameFrameworkComponentManager* ComponentManager = UGameInstance::GetSubsystem<UGameFrameworkComponentManager>(GameInstance))
{
UGameFrameworkComponentManager::FExtensionHandlerDelegate AddAbilitiesDelegate =
UGameFrameworkComponentManager::FExtensionHandlerDelegate::CreateUObject(this, &ThisClass::HandleControllerExtension, ChangeContext);
TSharedPtr<FComponentRequestHandle> ExtensionRequestHandle =
ComponentManager->AddExtensionHandler(APlayerController::StaticClass(), AddAbilitiesDelegate);
ActiveData.ExtensionRequestHandles.Add(ExtensionRequestHandle);
}
}GameFeatureAction에서 AddExtensionHandler와
void AModularPlayerController::PreInitializeComponents()
{
Super::PreInitializeComponents();
UGameFrameworkComponentManager::AddGameFrameworkComponentReceiver(this);
}ModularPlayerController에서 AddGameFrameworkComponentReceiver를 하는 것에는 어떤 차이가 있는 건가요 ??
제가 이해하기로는 AddExtensionHandler는 UGameFrameworkComponentManager::SendGameFrameworkComponentExtensionEvent 가 호출이 될 때 동작하는 것인데, AddGameFrameworkComponentReceiver는 무슨 역할을 하는지가 이해가 안 되네요 ..
(GameFeatureAction의 코드가 다른 것은 UE 버전차이때문입니다. 저는5.7로 실습을 진행하고 있습니다)
Answer 1
0
AddGameFrameworkComponentReceiver는 GameFeature 시스템에서 Component 등록을 자동적으로 하기위해서 등록을 진행합니다.
AddExtensionHandler는 조건을 거는겁니다. 특정 클래스에 대해서 메세지가 오면 이런 함수를 호출해줘
정리해보면
AddGameFrameworkComponentReceiver는 컴포넌트 전용
AddExtensionHandler는 특정 클래스에 대해서 메세지 전용(커스텀 가능)
11강 CallOrRegister_OnExperienceLoaded 질문
0
38
1
Reticle이 안나옵니다.
0
39
2
B_TeleportToUserFacingExperience가 추가로 생성되지 않습니다.
0
73
2
.
0
67
1
SpawnDefaultPawnAtTransform_Implementation이 호출되지 않습니다.
0
64
2
Input Subsystem 에서 오류가 발생합니다
0
68
1
7강 GameMode와 Modules관련 질문드립니다.
0
61
1
LyraFrontEnd 에서 로딩화면에서 넘어가지 않는 원인이 뭔지 질문드립니다.
0
87
2
리소스 이주했는데 안보이는데 어떻게 해야하나요?
0
100
3
TakeFromAbilitySystem 함수에서 Array 에 대한 remove 는 수행하지 않나요?
0
65
1
CircumferenceMarkerWidget의 bReticleCornerOutsideSpreadRadius 초기화 관련
0
66
1
Pawn 교체, Possess 후 위젯이 이전 값(상태)을 잘못 보여줄 때 처리법이 궁금합니다.
0
82
2
Pawnextension#3 9:19 질문이 있습니다.
0
68
2
Experience 재시작
0
86
2
Log 파트에서 Subtitution Macro Call 를 사용하는 방법이 무엇인가요?
0
89
2
설치후 빌드하는데 에러가 발생하고 인텔리센스도 잘 활성화되지 않습니다.
0
208
1
FPerContextData에 대해 질문이 있어요
0
54
2
OnGameFeatureActivating와 WorldContext관해 질문 있습니다.
0
71
1
GameFeature Action 및 Common UI Widget 생성 관련 질문
0
92
1
가비지컬렉션 관련 질문있습니다.
0
103
3
Travel관련해서 질문 있습니다.
0
69
1
IMC가 먹통이에요
0
97
2
PawnExtension #3 에서 말한 라이라 공식문서가 뭔가요?
0
68
1
PawnExtensionComponent::SetPawnData에서의 CheckDefaultInitialization
0
59
1

