Unreal Engine/etc.
[Unreal Engine etc.] UActorComponent::OnRegister
한돌이
2023. 12. 20. 14:50
https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Components/UActorComponent/OnRegister/
UActorComponent::OnRegister
Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called.
docs.unrealengine.com
플레이어 캐릭터에 추가한 ActorComponent에서 플레이어 캐릭터에 접근할 때마다 Cast으로 형을 변환하는 것이 귀찮아질 때 다음과 같이 ActorComponent를 상속 받는 클래스를 생성하여 OnRegister함수에서 GetOwner함수 받은 Actor를 형변환하여 변수로 저장하는 방법을 사용한다.
ActorComponent의 OnRegister함수는 ActorComponent가 Actor에 등록될 때 호출되는 함수로, 초기화 단계에서 무언가를 수행하고 할 때 사용할 수 있습니다.
void UPRBaseActorComponent::OnRegister()
{
Super::OnRegister();
InitializePROwner();
}
void UPRBaseActorComponent::InitializePROwner()
{
APRBaseCharacter* NewPROwner = Cast<APRBaseCharacter>(GetOwner());
if(IsValid(NewPROwner) == true)
{
PROwner = NewPROwner;
}
}