mirror of
https://github.com/mordentral/AdvancedSessionsPlugin.git
synced 2025-10-23 16:34:07 +00:00
Added GetPlayerAuthToken function to advanced identity
Now forcing not passing in a player controller if hosting dedicated. Former-commit-id: 7a6578b7ce8d98c87e33ef4623fddc2e39be31ce
This commit is contained in:
@@ -29,6 +29,10 @@ public:
|
|||||||
UFUNCTION(BlueprintCallable, Category = "Online|AdvancedIdentity", meta = (ExpandEnumAsExecs = "Result"))
|
UFUNCTION(BlueprintCallable, Category = "Online|AdvancedIdentity", meta = (ExpandEnumAsExecs = "Result"))
|
||||||
static void GetLoginStatus(const FBPUniqueNetId & UniqueNetID, EBPLoginStatus & LoginStatus, EBlueprintResultSwitch &Result);
|
static void GetLoginStatus(const FBPUniqueNetId & UniqueNetID, EBPLoginStatus & LoginStatus, EBlueprintResultSwitch &Result);
|
||||||
|
|
||||||
|
// Get the auth token for a local player
|
||||||
|
UFUNCTION(BlueprintCallable, Category = "Online|AdvancedIdentity", meta = (ExpandEnumAsExecs = "Result"))
|
||||||
|
static void GetPlayerAuthToken(APlayerController * PlayerController, FString & AuthToken, EBlueprintResultSwitch &Result);
|
||||||
|
|
||||||
// Get a players nickname
|
// Get a players nickname
|
||||||
UFUNCTION(BlueprintPure, Category = "Online|AdvancedIdentity")
|
UFUNCTION(BlueprintPure, Category = "Online|AdvancedIdentity")
|
||||||
static void GetPlayerNickname(const FBPUniqueNetId & UniqueNetID, FString & PlayerNickname);
|
static void GetPlayerNickname(const FBPUniqueNetId & UniqueNetID, FString & PlayerNickname);
|
||||||
|
@@ -5,6 +5,38 @@
|
|||||||
//General Log
|
//General Log
|
||||||
DEFINE_LOG_CATEGORY(AdvancedIdentityLog);
|
DEFINE_LOG_CATEGORY(AdvancedIdentityLog);
|
||||||
|
|
||||||
|
|
||||||
|
void UAdvancedIdentityLibrary::GetPlayerAuthToken(APlayerController * PlayerController, FString & AuthToken, EBlueprintResultSwitch &Result)
|
||||||
|
{
|
||||||
|
if (!PlayerController)
|
||||||
|
{
|
||||||
|
UE_LOG(AdvancedIdentityLog, Warning, TEXT("GetPlayerAuthToken was passed a bad player controller!"));
|
||||||
|
Result = EBlueprintResultSwitch::OnFailure;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ULocalPlayer* Player = Cast<ULocalPlayer>(PlayerController->Player);
|
||||||
|
|
||||||
|
if (!Player)
|
||||||
|
{
|
||||||
|
UE_LOG(AdvancedIdentityLog, Warning, TEXT("GetPlayerAuthToken failed to get LocalPlayer!"));
|
||||||
|
Result = EBlueprintResultSwitch::OnFailure;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
IOnlineIdentityPtr IdentityInterface = Online::GetIdentityInterface();
|
||||||
|
|
||||||
|
if (!IdentityInterface.IsValid())
|
||||||
|
{
|
||||||
|
UE_LOG(AdvancedIdentityLog, Warning, TEXT("GetPlayerAuthToken Failed to get identity interface!"));
|
||||||
|
Result = EBlueprintResultSwitch::OnFailure;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
AuthToken = IdentityInterface->GetAuthToken(Player->GetControllerId());
|
||||||
|
Result = EBlueprintResultSwitch::OnSuccess;
|
||||||
|
}
|
||||||
|
|
||||||
void UAdvancedIdentityLibrary::GetPlayerNickname(const FBPUniqueNetId & UniqueNetID, FString & PlayerNickname)
|
void UAdvancedIdentityLibrary::GetPlayerNickname(const FBPUniqueNetId & UniqueNetID, FString & PlayerNickname)
|
||||||
{
|
{
|
||||||
if (!UniqueNetID.IsValid())
|
if (!UniqueNetID.IsValid())
|
||||||
@@ -20,7 +52,6 @@ void UAdvancedIdentityLibrary::GetPlayerNickname(const FBPUniqueNetId & UniqueNe
|
|||||||
UE_LOG(AdvancedIdentityLog, Warning, TEXT("GetPlayerNickname Failed to get identity interface!"));
|
UE_LOG(AdvancedIdentityLog, Warning, TEXT("GetPlayerNickname Failed to get identity interface!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerNickname = IdentityInterface->GetPlayerNickname(*UniqueNetID.GetUniqueNetId());
|
PlayerNickname = IdentityInterface->GetPlayerNickname(*UniqueNetID.GetUniqueNetId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -73,13 +73,13 @@ void UCreateSessionCallbackProxyAdvanced::Activate()
|
|||||||
for (int i = 0; i < ExtraSettings.Num(); i++)
|
for (int i = 0; i < ExtraSettings.Num(); i++)
|
||||||
{
|
{
|
||||||
ExtraSetting.Data = ExtraSettings[i].Data;
|
ExtraSetting.Data = ExtraSettings[i].Data;
|
||||||
// ViaOnlineServiceAndPing
|
// ViaOnlineServiceAndPing
|
||||||
ExtraSetting.AdvertisementType = EOnlineDataAdvertisementType::ViaOnlineService;
|
ExtraSetting.AdvertisementType = EOnlineDataAdvertisementType::ViaOnlineService;
|
||||||
Settings.Settings.Add(ExtraSettings[i].Key, ExtraSetting);
|
Settings.Settings.Add(ExtraSettings[i].Key, ExtraSetting);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (PlayerControllerWeakPtr.IsValid() && Helper.UserID.IsValid())
|
if (!bDedicatedServer && PlayerControllerWeakPtr.IsValid() && Helper.UserID.IsValid())
|
||||||
Sessions->CreateSession(*Helper.UserID, GameSessionName, Settings);
|
Sessions->CreateSession(*Helper.UserID, GameSessionName, Settings);
|
||||||
else
|
else
|
||||||
Sessions->CreateSession(0, GameSessionName, Settings);
|
Sessions->CreateSession(0, GameSessionName, Settings);
|
||||||
|
Reference in New Issue
Block a user