国内安卓需要添加各种支付,所以研究了一下online sub system。
先看图:
OnlineSystem模块启动时候回加载默认Subsystem,下面是代码
D:\UnrealEngine\Engine\Source\Runtime\Online\OnlineSubsystem\Private\OnlineSubsystemModule.cpp
void FOnlineSubsystemModule::LoadDefaultSubsystem()
{
FString InterfaceString;
// Load the platform defined "default" online services module
if (GConfig->GetString(TEXT("OnlineSubsystem"), TEXT("DefaultPlatformService"), InterfaceString, GEngineIni) &&
InterfaceString.Len() > 0)
{
FName InterfaceName = FName(*InterfaceString);
// A module loaded with its factory method set for creation and a default instance of the online subsystem is required
if (LoadSubsystemModule(InterfaceString).IsValid() &&
OnlineFactories.Contains(InterfaceName) &&
GetOnlineSubsystem(InterfaceName) != NULL)
{
DefaultPlatformService = InterfaceName;
}
else
{
UE_LOG(LogOnline, Log, TEXT("Unable to load default OnlineSubsystem module %s, using NULL interface"), *InterfaceString);
InterfaceString = TEXT("Null");
InterfaceName = FName(*InterfaceString);