UELaunch流程
2021-07-16 14:32:48 0 举报
AI智能生成
UE4启动代码
作者其他创作
大纲/内容
<br>
GardedMain
FEngineLoop::PreInit<br>
Loading Modules<br>
<br>
<br>
向反射系统注册所有UCLASS标记类<br>
将父类CDO作为参数调用构造函数为类构造CDO<br>
调用StartupModule()<br>
FEngineLoop::Init<br>
<br>
UGameEngine::Init<br>
<br>
UEngine::Init<br>
UGameInstance::InitializeStandalone<br>
UGameInstance::Init
UGameViewportCient::Init
UGameViewportClient::SetupInitialLocalPlayer<br>
UGameInstance::CreateInitialPlayer<br>
UGameInstance::CreateLocalPlayer
UGameInstance::AddLocalPlayer<br>
ULocalPlayer::PlayerAdded<br>
ULocalPlayer::SetControllerId<br>
UGameEngine::Start<br>
UGameInstance::StartGameInstance<br>
UGameMapsSettings::GetGameDefaultMap<br>
UEngine::Browse<br>
UEngine::LoadMap<br>
UGameInstance::PreloadContentForURL
LoadPackage<br>
*.umap
UWorld::InitWorld<br>
UWorld::SetGameMode
UGameInstance::CreateGameModeForURL<br>
UGameMapsSettings::GetGlobalDefaultGameMode<br>
UWorld::SpawnActor<br>
ASomeGameMode::OnConstruction<br>
LoadPackagesFully<br>
*.uasset
UWorld::FlushLevelStreaming<br>
UWorld::InitializeActorsForPlay<br>
ULevel::UpdateLevelComponents<br>
AActor::PreRegisterAllComponents<br>
AActor::IncrementalRegisterComponents<br>
UActorComponent::RegisterComponentWithWorld<br>
UActorComponent::OnRegister<br>
AGameModeBase::InitGame<br>
UWorld::SpawnActor<AGameSession><br>
AGameSession::InitOptions<br>
ULevel::RouteActorInitialize
for(Actor : Actors)
AActor::PreInitializeComponents<br>
AGameModeBase::PreInitializeComponent()
UWorld::SpawnActor<AGameStateBase><br>
UWorld::SpawnActor<NetworkManager><br>
AGameModeBase::InitGameState<br>
for(Actor : Actors)
AActor::InitializeComponents
for(ActorComp : Components)
UActorComponent::Activate
UActorComponent::InitializeComponent
AActor::PostInitializeComponents<br>
APlayerState::PostInitializeComponents<br>
AGameStateBase::AddPlayerState<br>
APlayerController::PostInitializeComponents<br>
AController::PostInitializeComponents<br>
Uworld::AddController<br>
APlayerController::InitPlayerState<br>
UWorld::SpawnActor<APlayerState>
APlayerController::SpawnPlayerCameraManager
APlayerCOntroller::SpawnDefaultHUD
for( it = UGameInstance::GetLocalPlayerIterator)
ULocalPlayer::SpawnPlayActor
UWorld::SpawnPlayActor
AGameModeBase::PreLogin
APlayerController = AGameModeBase::Login()<br>
AGameSession::ApproveLogin<br>
AGameModeBase::SpawnPlayerController<br>
AGameModeBase::InitNewPlayer<br>
AGameSession::RegisterPlayer<br>
AGameModeBase::FindPlayerStart<br>
APlayerController::SetInitialLocationAndRotation<br>
APlayerController::SetPlayer<br>
AplayerController::InitInputSystem
APlayerController::ReceivedPlayer<br>
AGameModeBase::PostLogin<br>
AGameModeBase::GenericPlayerInitialization<br>
AGameSession::PostLogin<br>
AGameModeBase::HandleStartingNewPlayer_Implementation<br>
AGameModeBase::RestartPlayer<br>
AGameModeBase::FindPlayerStart<br>
AGameModeBase::GetDefaultPawnClassForController
UWorld::SpawnActor<APawn>
AGameModeBase::InitStartSpot
AGameModeBase::FinishResstartPlayer
UWorld::BeginPlay<br>
AGameModeBase::StartPlay<br>
AGameStateBase::HandleBeginPlay<br>
AWorldSettings::NotifyBeginPlay<br>
FActorIterator::DispatchBeginPlay<br>
AActor::BeginPlay<br>
UEngine::LoadMap后得到的对象<br>
UWorld
ULevel
AActor
UActorComponent
AGameModeBase
AGameSession
用于批准登录请求
AGameStateBase
AGameNetworkManager
用于作弊检测和移动预测之类的东西
APlayerController
APlayerState
APawn
UGameInstance::OnStart<br>
FEngineLoop::Tick
FEngineLoop::Exit<br>
ELoadingPhase::Type<br>
EarliestPossible
/** As soon as possible - in other words, uplugin files are loadable from a pak file (as well as right after PlatformFile is set up in case pak files aren't used) Used for plugins needed to read files (compression formats, etc) */
PostConfigInit
/* Loaded before the engine is fully initialized, immediately after the config system has been initialized. Necessary only for very low-level hooks */<br>
PostSplashScreen<br>
/** The first screen to be rendered after system splash screen */<br>
PreEarlyLoadingScreen<br>
/** Loaded before coreUObject for setting up manual loading screens, used for our chunk patching system */
PreLoadingScreen<br>
/** Loaded before the engine is fully initialized for modules that need to hook into the loading screen before it triggers */<br>
PreDefault<br>
/** Right before the default phase */<br>
Default<br>
/** Loaded at the default loading point during startup (during engine init, after game modules are loaded.) */<br>
PostDefault<br>
/** Right after the default phase */<br>
PostEngineInit<br>
/** After the engine has been initialized */
None<br>
/** Do not automatically load this module */
Max
// NOTE: If you add a new value, make sure to update the ToString() method below!
UGameEngine::Init后得到的对象:<br>
UGameEngine
UGameInstance
UGameViewportClient
ULocalPlayer
收藏
0 条评论
下一页
为你推荐
查看更多