85{
86 FUniqueNetIdRepl UniqueNetIdRepl;
87 if(NewPlayer->IsLocalController())
88 {
89 const ULocalPlayer* LocalPlayer = NewPlayer->GetLocalPlayer();
90 if(LocalPlayer != nullptr)
91 {
92 UniqueNetIdRepl = LocalPlayer->GetPreferredUniqueNetId();
93 }
94 else
95 {
96 const UNetConnection* RemoteNetConnection = Cast<UNetConnection>(NewPlayer->Player);
97 check(IsValid(RemoteNetConnection));
98 UniqueNetIdRepl = RemoteNetConnection->PlayerId;
99 }
100 }
101 else
102 {
103 const UNetConnection* RemoteNetConnection = Cast<UNetConnection>(NewPlayer->Player);
104 check(IsValid(RemoteNetConnection));
105 UniqueNetIdRepl = RemoteNetConnection->PlayerId;
106 }
107 const TSharedPtr<const FUniqueNetId> UniqueNetId = UniqueNetIdRepl.GetUniqueNetId();
108
109 if(UniqueNetId ==
nullptr){
Logout(NewPlayer);
return;}
110 check(UniqueNetId != nullptr)
111 const IOnlineSubsystem* OnlineSubsystem = Online::GetSubsystem(NewPlayer->GetWorld());
112 if(OnlineSubsystem != nullptr)
113 {
114 const IOnlineSessionPtr Session = OnlineSubsystem->GetSessionInterface();
115 if(Session != nullptr)
116 {
119 {
120 const bool bRegistrationSuccess = Session->RegisterPlayer(FName(
MenuSystem->GetCurrentSessionName()),*UniqueNetId,
false);
121 if(bRegistrationSuccess)
122 {
123 const IOnlineIdentityPtr OnlineIdentity = OnlineSubsystem->GetIdentityInterface();
124 if(OnlineIdentity != nullptr)
125 {
126 const FString PlayerName = OnlineIdentity->GetPlayerNickname(*UniqueNetId);
128 }
129 UE_LOG(LogMenuSystem,
Warning,TEXT(
"Player Registered!, "));
130 }
131 }
132 }
133 }
134}