17{
18 Super::PostLogin(NewPlayer);
19 if(NewPlayer != nullptr)
20 {
21 FUniqueNetIdRepl UniqueNetIdRepl;
22 if(NewPlayer->IsLocalController())
23 {
24 ULocalPlayer* LocalPlayer = NewPlayer->GetLocalPlayer();
25 if(LocalPlayer != nullptr)
26 {
27 UniqueNetIdRepl = LocalPlayer->GetPreferredUniqueNetId();
28 }
29 else
30 {
31 UNetConnection* RemoteNetConnection = Cast<UNetConnection>(NewPlayer->Player);
32 check(IsValid(RemoteNetConnection));
33 UniqueNetIdRepl = RemoteNetConnection->PlayerId;
34 }
35 }
36 else
37 {
38 UNetConnection* RemoteNetConnection = Cast<UNetConnection>(NewPlayer->Player);
39 check(IsValid(RemoteNetConnection));
40 UniqueNetIdRepl = RemoteNetConnection->PlayerId;
41 }
42 TSharedPtr<const FUniqueNetId> UniqueNetId = UniqueNetIdRepl.GetUniqueNetId();
43
44 if(UniqueNetId == nullptr){Logout(NewPlayer);return;}
45 check(UniqueNetId != nullptr)
46 IOnlineSubsystem* OnlineSubsystem = Online::GetSubsystem(NewPlayer->GetWorld());
47 if(OnlineSubsystem != nullptr)
48 {
49 IOnlineSessionPtr Session = OnlineSubsystem->GetSessionInterface();
50 if(Session != nullptr)
51 {
53 if(GameInstance)
54 {
55 bool bRegistrationSuccess = Session->RegisterPlayer(GameInstance->
GetCurrentSessionName(),*UniqueNetId,
false);
56 if(bRegistrationSuccess)
57 {
58 UE_LOG(LogTemp,
Warning,TEXT(
"Player Registered!"));
59 }
60 }
61 }
62
63 }
64 }
65}
Definition EOSTutorialGameInstance.h:15
FName GetCurrentSessionName()
Definition EOSTutorialGameInstance.cpp:55