From 0d6e63dddf130e06b3cd191986a56c4c03efeae8 Mon Sep 17 00:00:00 2001 From: Sessional Date: Wed, 22 Jul 2020 12:55:09 -0500 Subject: [PATCH] Adding in a UE4 blueprintable enum for login type --- .../Blueprints/BP_PlayerController.uasset | Bin 61104 -> 64785 bytes .../Private/EOSBlueprintLibrary.cpp | 32 ++++++++++++++++++ .../Private/OnlineIdentityInterfaceEOS.cpp | 16 +++++++-- .../Public/EOSBlueprintLibrary.h | 21 ++++++++++++ .../Public/OnlineSubsystemEOSCommon.cpp | 28 +++++++++++++++ .../Public/OnlineSubsystemEOSCommon.h | 10 ++++++ .../EOSBasic/Player/BasicPlayerController.cpp | 4 ++- .../EOSBasic/Player/BasicPlayerController.h | 1 + 8 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSBlueprintLibrary.cpp create mode 100644 EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSBlueprintLibrary.h diff --git a/EOSBasic/Content/Blueprints/BP_PlayerController.uasset b/EOSBasic/Content/Blueprints/BP_PlayerController.uasset index d91296b56619dbfb55b0029af95706fce17d06e9..6a81bd9ba35a945bd423ae9b58fa7daee36e6965 100644 GIT binary patch delta 15587 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

`Ra zdo>+C6qS{T)#YSNWG&WB%*+~@smq$6GeCEY%*`2@Zpg?~Sxsd1sx;CoLg;#79paOMlIu$H{@ zw@6ZY6wgj7`(Zr^J~kZwDTVEHt4K);c|cg$2jj8%C>)`}NQ}1~@i>kLV36!Du2Ph> zaMO!>XiswaP$anz<<^qu!&xRP_r}B0%B>eY$kW3S{r_Btv0C|v5+1?&XTASc9AW(z zj6V2I-IiZd?^GvM4}7KQ`qndbmT0PTv#2Gn9gU=NzMJ~M_;%cwOm8pg)K5wo^K}yATteL7}Fs3qDOX~gnBi1484 zVoSfQmAAK8?AWhfg~Jmc^xUv0>ePi9+Rma2AR?uJR^JKZtrN%V;VYH1Ac$5Ex z8A#iDmx%wM-{~}1T>tEv3QIH%uJDdL)HQO{_T2dQ>V3YB*fXS`C7NpYZj-wgi#ZgXM-(X_G~?y zppmD;vM*dZR)9zhh4kI9p%BoMtxkU_hew_GD7jsiUeyO zLp^tPz1OoS^B1qQ(+}zRP}0;UM(S4GQOZNdg^!!v|0$-31Yh0%x?nN z0+_IH%cqA0uRSa~HdJz#6)$ajSiYk7jt@pXAK|vX8%kEvP%xT`fe z^TXs5w-B|2V0Q6+L88lxs8w?~W=}E>+}!u|xRonbpL%k7&yQ7P{3_>Q{5K%>$6eF! z`Fi#&U-*39mr2o~mT1;J&p4T>Vx}YivqE+%29#$++`3mVVj+uVCibans~8v~(%HKi zd2rG4IK@+K<0TV+O8aC$k2SSH+iMTr`rZ<4liJ3GI$1Cl8UMrJnTF##Q;OX`f2-@p zDL+`EZC4Ycr+3cETM@i-rm{!QIh!{3r_~9S)vIPy8fy-tY$a`;v;&eaaRGt>KjxBB z>K@v-Rzsyf664u+ic0KB2zc(ZY@c@zSYS-T=%6Px$+F$N^ zC-r)A+7fNQ)NH;v+t2>ofIA5d9~jOg?TQ;2cEz16xZ>?`h3U%I-T zdtXr;{RjiS%7xDbjQ_<2r`1zfjJ1hR(gEKj+PgV9dX?{>^Kao_5-K;z#QyehEBj{A zfn2^F-8%l-f+@B>PZP=}AJ|a5x_>erVU@ILScTdBr{x_o`RGpP)}sbrJ(4u_^W^HT zO`z3mu~B+n9MJAakDz_Nm^7=XxC=yp^hjJdS#zp*(=CQQNWhg07ks|Aw}mwQb_o+WEwzFNgUpyfKDeik#;vWza=4qa$Uq^u zY(YKN5h+0vePPgi+v?JNy+WoOQ(YDykk4VJBFyo6@A%p-alHUz~ z6(PyA?@iO47=AU2Q8gMKz(g9&(q>E_V04g}jf7+5`oj($ml>8X7|+c3B=I|kjz)$s a+l6#z3{$;>Lg=mbf^Wa_Zg*DgQS$SqzE* delta 13740 zcmdryc|cWF^Y;oQPq9EAk4@wupdhA#CWwj%Y6`eSnpu8|DXt{BRDN1MP0cisJD`)8(zSqdG{7#GPO4s&gf;Ew(_E--vVLM!sWNf=e zNRm4~W_${N8T|RGMiY83Sd^65%3RO|8pt8_X&|zKXXIuuNRBl3MZyi&5NK8IVIldU z2!n}_hm;(WJ>*ZEvYkru9{JD-o^NmqhBx#oS=4Z^i(kJN#-)##BBdwS$n}vtQ*?9g zl}z&3E0;X&2~HLxGe3rm)=%R$_(GEgH!=0aQ35gaG-?2Mu#3a_A3@}2 zHb~*`pAq-54z9=nt_H`&>fkyH9LJv|1YX5~g#yX7z+FOI3Bw-YTDXnelwgAsZX;YG z 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 diff --git a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSBlueprintLibrary.cpp b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSBlueprintLibrary.cpp new file mode 100644 index 0000000..be8f8c5 --- /dev/null +++ b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/EOSBlueprintLibrary.cpp @@ -0,0 +1,32 @@ +// Copyright (C) 2019-2020, Gaslight Games Ltd + + +#include "EOSBlueprintLibrary.h" + +// Engine Includes +#include "OnlineSubsystem.h" +#include "Interfaces/OnlineIdentityInterface.h" + +// EOS Plugin Includes +#include "OnlineSubsystemEOS.h" +#include "OnlineSubsystemEOSCommon.h" + + +bool UEOSBlueprintLibrary::RequestLoginByType(FString Id, FString Token, EEOSLoginType Type) +{ + IOnlineSubsystem* SubSystem = IOnlineSubsystem::Get(EOS_SUBSYSTEM); + + if (SubSystem != nullptr) + { + IOnlineIdentityPtr OnlineIdentity = SubSystem->GetIdentityInterface(); + + if (OnlineIdentity != nullptr) + { + FString TypeAsString = UEOSCommon::EEOSLoginTypeToString(Type); + FOnlineAccountCredentials Credentials(TypeAsString, Id, Token); + return OnlineIdentity->Login(0, Credentials); + } + } + + return false; +} diff --git a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineIdentityInterfaceEOS.cpp b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineIdentityInterfaceEOS.cpp index 11d5a02..6aa76c7 100644 --- a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineIdentityInterfaceEOS.cpp +++ b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Private/OnlineIdentityInterfaceEOS.cpp @@ -41,9 +41,19 @@ bool FOnlineIdentityEOS::Login( int32 LocalUserNum, const FOnlineAccountCredenti FString MessageText = FString::Printf( TEXT( "Logging In with Dev Auth Tool | ID: %s | Token: %s." ), *AccountCredentials.Id, *AccountCredentials.Token ); UE_LOG_ONLINE_IDENTITY( Warning, TEXT( "%s" ), *MessageText ); - Credentials.Id = TCHAR_TO_UTF8( *AccountCredentials.Id ); - Credentials.Token = TCHAR_TO_UTF8( *AccountCredentials.Token ); - Credentials.Type = EOS_ELoginCredentialType::EOS_LCT_Developer; + EEOSLoginType LoginType = UEOSCommon::EEOSLoginTypeFromString(AccountCredentials.Type); + + switch (LoginType) { + case EEOSLoginType::LT_DeveloperTool: + Credentials.Id = TCHAR_TO_UTF8(*AccountCredentials.Id); + Credentials.Token = TCHAR_TO_UTF8(*AccountCredentials.Token); + Credentials.Type = EOS_ELoginCredentialType::EOS_LCT_Developer; + break; + case EEOSLoginType::LT_EpicPortal: + Credentials.Type = EOS_ELoginCredentialType::EOS_LCT_AccountPortal; + break; + } + LoginOptions.Credentials = &Credentials; diff --git a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSBlueprintLibrary.h b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSBlueprintLibrary.h new file mode 100644 index 0000000..1b28b29 --- /dev/null +++ b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/EOSBlueprintLibrary.h @@ -0,0 +1,21 @@ +// Copyright (C) 2019-2020, Gaslight Games Ltd + +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "OnlineSubsystemEOSCommon.h" +#include "EOSBlueprintLibrary.generated.h" + +/** + * + */ +UCLASS() +class ONLINESUBSYSTEMEOS_API UEOSBlueprintLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() + +public: + UFUNCTION(BlueprintCallable, Category = "EOS Basic", meta = (DisplayName = "Request Login")) + static bool RequestLoginByType(FString Id, FString Token, EEOSLoginType Type); +}; diff --git a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.cpp b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.cpp index 8a7a0fa..1565b56 100644 --- a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.cpp +++ b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.cpp @@ -489,3 +489,31 @@ FString UEOSCommon::EOSResultToString( EOS_EResult Result ) return "Unknown"; } + +FString UEOSCommon::EEOSLoginTypeToString(EEOSLoginType LoginType) { + + switch (LoginType) + { + + case EEOSLoginType::LT_DeveloperTool: + return "Dev"; + case EEOSLoginType::LT_EpicPortal: + return "EpicPortal"; + } + + return "Unknown"; +} + +EEOSLoginType UEOSCommon::EEOSLoginTypeFromString(FString EEOSLoginType) { + if( EEOSLoginType.Equals("Dev") ) + { + return EEOSLoginType::LT_DeveloperTool; + } + else if( EEOSLoginType.Equals("EpicPortal") ) + { + return EEOSLoginType::LT_EpicPortal; + } + + //TODO: What do I do for a default? + return EEOSLoginType::LT_DeveloperTool; +} \ No newline at end of file diff --git a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.h b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.h index 9ca9600..fbd738b 100644 --- a/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.h +++ b/EOSBasic/Plugins/OnlineSubsystemEOS/Source/OnlineSubsystemEOS/Public/OnlineSubsystemEOSCommon.h @@ -85,6 +85,12 @@ enum class EEOSEcom : uint8 EE_UnknownError UMETA( DisplayName = "Unknown Error" ) }; +UENUM(BlueprintType) +enum class EEOSLoginType : uint8 +{ + LT_DeveloperTool UMETA( DisplayName = "Developer Tool" ), + LT_EpicPortal UMETA( DisplayName = "Epic Portal" ) +}; class UEOSCommon { @@ -131,4 +137,8 @@ class UEOSCommon * @return FString result of the conversion. */ static FString EOSResultToString( EOS_EResult Result ); + + static FString EEOSLoginTypeToString( EEOSLoginType LoginType ); + + static EEOSLoginType EEOSLoginTypeFromString( FString EEOSLoginType ); }; diff --git a/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.cpp b/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.cpp index 712084e..a6e099d 100644 --- a/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.cpp +++ b/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.cpp @@ -10,6 +10,8 @@ // EOS Plugin Includes #include "OnlineSubsystemEOS.h" +//TODO: why can't this be a .h? Isn't the static method defined there? +#include "OnlineSubsystemEOSCommon.cpp" bool ABasicPlayerController::RequestLogin( FString Id, FString Token, FString Type ) @@ -28,4 +30,4 @@ bool ABasicPlayerController::RequestLogin( FString Id, FString Token, FString Ty } return false; -} \ No newline at end of file +} diff --git a/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.h b/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.h index a65f461..3f638bd 100644 --- a/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.h +++ b/EOSBasic/Source/EOSBasic/Player/BasicPlayerController.h @@ -4,6 +4,7 @@ #include "CoreMinimal.h" #include "GameFramework/PlayerController.h" +#include "OnlineSubsystemEOSCommon.h" #include "BasicPlayerController.generated.h" /**