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()가 호출된다.
'C++ > Unreal Engine' 카테고리의 다른 글
[UE4] 디버깅 기록 UTextBlock의 TextDelegate (0) | 2021.10.11 |
---|---|
[UE4] 디버깅 기록 PostActorCreated / 월드에서 스폰시 (0) | 2021.10.11 |
[UE4] 디버깅 기록 Delegate / BeginDestroy (0) | 2021.10.09 |
[UE4] 게임 플레이 프레임워크 (GameMode, PlayerController, Pawn) (0) | 2021.09.30 |
[UE4] Actor 클래스 (0) | 2021.09.30 |