Subsystem(子系统)是自动实例化的类,其生命周期可以管理,目前与对应模块是一致的。
目前支持的4个子系统:UEngineSubsystem, UEditorSubsystem, UGameInstanceSubsystem, ULocalPlayerSubsystem. GEngine->GetEngineSubsystem(); GEditor->GetEditorSubsystem();
在GameInstance进行初始化时,会创建所有的GameInstanceSubsystem。
UGameInstance* GameInstance = ...; UMyGameSubsystem* MySubsystem = UGameInstance::GetSubsystem<MyGameSubsystem>(GameInstance);
在LocalPlayer进行初始化时,会创建所有的LocalPlayerSubsystem.
ULocalPlayer* LocalPlayer = ...; UMyPlayerSubsystem * MySubsystem = LocalPlayer->GetSubsystem(); |
|