C++/Unreal Engine

[UE4] 생성과 관련된 호출 함수

로파이 2021. 10. 8. 00:30

AActor 관련

Actor를 레벨에 배치하거나 스폰시킬 때 호출되는 함수

https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/GameFramework/AActor/

함수 설명 연계되는 호출
virtual PostLoad() 에디터나 게임 플레이 도중 혹은 디스크에서 로드되어 배치된 경우 제일 처음으로 호출된다. UActorComponent::OnComponentCreated()
로드된 경우를 제외하고 모든 생성된 컴포넌트에 호출된다. 
virtual PreRegisterAllComponents() Actor의 생성 도중 호출되며, native root component를 가지고 있는 상태이다. UActorComponent::RegisterComponent()
native root components를 가지고 있는 상태에서 호출된다.
virtual PostRegisterAllComponents() 모든 Actor 컴포넌트가 등록되고 호출딘다.  
virtual PostActorCreated() 에디터나 게임 플레이 도중 생성되었을 때 호출되며 레벨에 의해 로드된 경우 호출되지 않는다.  
virtual OnConstruction(const FTransform&) 블루프린트 생성을 호출하는 ExecuteConstruction의 끝으로 호출되며 모든 블루프린트로 생성되는 컴포넌트가 생성되고 등록된다. 항상 게임 플레이 중 스폰된 Actor에만 호출된다.  
virtual PreInitializeComponents() 컴포넌트의 InitializeComponent 직전에 호출된다.
게임 플레이 중에만 호출
UActorComponent::Activate(bool bReset)
: 컴포넌트의 bAutoActivate가 true 인 경우 호출된다.
UActorComponent::InitializeComponent()
: 컴포넌트의 bWantsInitializeComponent가 true 인경우 호출된다.
virtual PostInitializeComponents() Actor 컴포넌트가 완전히 초기화된 이후 호출된다. 게임 플레이 중에만 호출  
virtual BeginPlay() 레벨이 Tick되기 시작할 때 호출된다. 게임 플레이 중에만 호출  

 

AGameModeBase 관련

GameMode에 등록한 정적 클래스가 게임 시작시 인스턴스화되며 호출되는 함수

https://docs.unrealengine.com/4.26/en-US/InteractiveExperiences/Framework/GameMode/

GameMode의 함수 - 기본적으로 AActor(AInfo) 클래스를 상속한 클래스이다.

함수 설명
virtual void InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage) 다른 모든 Script 혹은 PreInitializeComponents가 호출되기 전에 호출되며 AGameModeBase의 PreInitializeComponents에 의해 호출된다.
virtual void PreLogin(const FString& Options, const FString& Address, const FUniqueNetIdRepl& UniqueId, FString& ErrorMessage) 서버에 접속하려는 Actor가 수락 혹은 거절될 때 호출된다. Login 호출이 실패하면 ErrorMessage가 설정되며. Login이전에 PreLogin이 호출된다.
virtual void PostLogin(APlayerController* newPlayer) override 성공적인 로그인 이후에 호출되며 PlayerController에 복제된 함수가 호출되는 것이 안전해진다.
void HandleStartingNewPlayer() 플레이어를 위한 Pawn을 생성한다.
virtual void Logout(AController* Exiting) 게임 나감 혹은 파괴로 호출된다.
virtual void PreInitializeComponents() override;
virtual void PostInitializeComponents() override;
AActor로부터 상속받은 함수
  • DefaultPawnClass : 위 Actor가 호출하는 함수를 포함한다.
  • PlayerControllerClass : OnPossess(APawn* PawnToPossess)를 호출하여 플레이어 폰에 빙의하는 함수를 포함한다. OnPossess 도중 해당 폰의 PossessedBy(APlayerController*)를 호출하며 멤버 변수 Pawn이 설정된다.
  • PlayerStateClass : PostInitializeComponents()가 호출된다.
  • GameStateClass : PostInitializeComponents()가 호출된다.