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