mirror of
https://github.com/mordentral/AdvancedSessionsPlugin.git
synced 2025-10-23 00:14:24 +00:00

Implement AutoLogin function, can be used to login automatically using the EOS SDK Dev Auth Tool
56 lines
1.9 KiB
C++
56 lines
1.9 KiB
C++
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "BlueprintDataDefinitions.h"
|
|
#include "Interfaces/OnlineIdentityInterface.h"
|
|
#include "Engine/LocalPlayer.h"
|
|
#include "AutoLoginUserCallbackProxy.generated.h"
|
|
|
|
UCLASS(MinimalAPI)
|
|
class UAutoLoginUserCallbackProxy : public UOnlineBlueprintCallProxyBase
|
|
{
|
|
GENERATED_UCLASS_BODY()
|
|
|
|
// Called when there is a successful destroy
|
|
UPROPERTY(BlueprintAssignable)
|
|
FEmptyOnlineDelegate OnSuccess;
|
|
|
|
// Called when there is an unsuccessful destroy
|
|
UPROPERTY(BlueprintAssignable)
|
|
FEmptyOnlineDelegate OnFailure;
|
|
|
|
/**
|
|
* Logs the player into the online service using parameters passed on the
|
|
* command line. Expects -AUTH_LOGIN=<UserName> -AUTH_PASSWORD=<password>. If either
|
|
* are missing, the function returns false and doesn't start the login
|
|
* process
|
|
*
|
|
* @param LocalUserNum the controller number of the associated user
|
|
*
|
|
*/
|
|
UFUNCTION(BlueprintCallable, meta=(BlueprintInternalUseOnly = "true", WorldContext="WorldContextObject"), Category = "Online|AdvancedIdentity")
|
|
static UAutoLoginUserCallbackProxy* AutoLoginUser(UObject* WorldContextObject, int32 LocalUserNum);
|
|
|
|
// UOnlineBlueprintCallProxyBase interface
|
|
virtual void Activate() override;
|
|
// End of UOnlineBlueprintCallProxyBase interface
|
|
|
|
private:
|
|
// Internal callback when the operation completes, calls out to the public success/failure callbacks
|
|
void OnCompleted(int32 LocalUserNum, bool bWasSuccessful, const FUniqueNetId& UserId, const FString& ErrorVal);
|
|
|
|
private:
|
|
// The controller number of the associated user
|
|
int32 LocalUserNumber;
|
|
|
|
// The delegate executed by the online subsystem
|
|
FOnLoginCompleteDelegate Delegate;
|
|
|
|
// Handle to the registered OnDestroySessionComplete delegate
|
|
FDelegateHandle DelegateHandle;
|
|
|
|
// The world context object in which this call is taking place
|
|
UObject* WorldContextObject;
|
|
};
|