diff --git a/Content/Blueprints/Game/GameInstance_TD.uasset b/Content/Blueprints/Game/GameInstance_TD.uasset index 6aaeb477..a611b9a2 100644 Binary files a/Content/Blueprints/Game/GameInstance_TD.uasset and b/Content/Blueprints/Game/GameInstance_TD.uasset differ diff --git a/Content/Blueprints/Game/TopDownCharacter.uasset b/Content/Blueprints/Game/TopDownCharacter.uasset index cbbeaf39..937ff1a4 100644 Binary files a/Content/Blueprints/Game/TopDownCharacter.uasset and b/Content/Blueprints/Game/TopDownCharacter.uasset differ diff --git a/Content/Blueprints/Game/TopDownController.uasset b/Content/Blueprints/Game/TopDownController.uasset index e98a15fd..86bf2ec6 100644 Binary files a/Content/Blueprints/Game/TopDownController.uasset and b/Content/Blueprints/Game/TopDownController.uasset differ diff --git a/Content/Blueprints/Odin/OdinClientComponent.uasset b/Content/Blueprints/Odin/OdinClientComponent.uasset index 614212ef..f208ee51 100644 Binary files a/Content/Blueprints/Odin/OdinClientComponent.uasset and b/Content/Blueprints/Odin/OdinClientComponent.uasset differ diff --git a/Content/Blueprints/Widgets/IngameHud.uasset b/Content/Blueprints/Widgets/IngameHud.uasset index 7459cb6e..677ed124 100644 Binary files a/Content/Blueprints/Widgets/IngameHud.uasset and b/Content/Blueprints/Widgets/IngameHud.uasset differ diff --git a/Content/Blueprints/Widgets/OptionsMenu/WBP_Options.uasset b/Content/Blueprints/Widgets/OptionsMenu/WBP_Options.uasset index c64a6f65..8d6b1330 100644 Binary files a/Content/Blueprints/Widgets/OptionsMenu/WBP_Options.uasset and b/Content/Blueprints/Widgets/OptionsMenu/WBP_Options.uasset differ diff --git a/Content/Mannequin/Animations/ThirdPerson_AnimBP.uasset b/Content/Mannequin/Animations/ThirdPerson_AnimBP.uasset index 31036ad3..28f9f991 100644 Binary files a/Content/Mannequin/Animations/ThirdPerson_AnimBP.uasset and b/Content/Mannequin/Animations/ThirdPerson_AnimBP.uasset differ diff --git a/Content/Maps/TopDownExampleMap.umap b/Content/Maps/TopDownExampleMap.umap index 9e860694..98f3d2b3 100644 Binary files a/Content/Maps/TopDownExampleMap.umap and b/Content/Maps/TopDownExampleMap.umap differ diff --git a/Content/Sound/ReverbEffectSubmixPreset.uasset b/Content/Sound/ReverbEffectSubmixPreset.uasset new file mode 100644 index 00000000..3914c579 Binary files /dev/null and b/Content/Sound/ReverbEffectSubmixPreset.uasset differ diff --git a/Content/SteamAudio/Materials/Brick.uasset b/Content/SteamAudio/Materials/Brick.uasset new file mode 100644 index 00000000..6fa2c189 Binary files /dev/null and b/Content/SteamAudio/Materials/Brick.uasset differ diff --git a/Content/SteamAudio/Materials/Carpet.uasset b/Content/SteamAudio/Materials/Carpet.uasset new file mode 100644 index 00000000..9d1a95f0 Binary files /dev/null and b/Content/SteamAudio/Materials/Carpet.uasset differ diff --git a/Content/SteamAudio/Materials/Ceramic.uasset b/Content/SteamAudio/Materials/Ceramic.uasset new file mode 100644 index 00000000..b53e2d07 Binary files /dev/null and b/Content/SteamAudio/Materials/Ceramic.uasset differ diff --git a/Content/SteamAudio/Materials/Concrete.uasset b/Content/SteamAudio/Materials/Concrete.uasset new file mode 100644 index 00000000..a11d60d5 Binary files /dev/null and b/Content/SteamAudio/Materials/Concrete.uasset differ diff --git a/Content/SteamAudio/Materials/Glass.uasset b/Content/SteamAudio/Materials/Glass.uasset new file mode 100644 index 00000000..b35a4445 Binary files /dev/null and b/Content/SteamAudio/Materials/Glass.uasset differ diff --git a/Content/SteamAudio/Materials/Metal.uasset b/Content/SteamAudio/Materials/Metal.uasset new file mode 100644 index 00000000..53b41bec Binary files /dev/null and b/Content/SteamAudio/Materials/Metal.uasset differ diff --git a/Content/SteamAudio/Materials/Wood.uasset b/Content/SteamAudio/Materials/Wood.uasset new file mode 100644 index 00000000..513848ef Binary files /dev/null and b/Content/SteamAudio/Materials/Wood.uasset differ diff --git a/Plugins/SteamAudio/Content/Materials/Brick.uasset b/Plugins/SteamAudio/Content/Materials/Brick.uasset index c9f4deaf..c7527305 100644 Binary files a/Plugins/SteamAudio/Content/Materials/Brick.uasset and b/Plugins/SteamAudio/Content/Materials/Brick.uasset differ diff --git a/Plugins/SteamAudio/Content/Materials/Carpet.uasset b/Plugins/SteamAudio/Content/Materials/Carpet.uasset index 1a0f393a..4ee34951 100644 Binary files a/Plugins/SteamAudio/Content/Materials/Carpet.uasset and b/Plugins/SteamAudio/Content/Materials/Carpet.uasset differ diff --git a/Plugins/SteamAudio/Content/Materials/Ceramic.uasset b/Plugins/SteamAudio/Content/Materials/Ceramic.uasset index 958befd7..f1611991 100644 Binary files a/Plugins/SteamAudio/Content/Materials/Ceramic.uasset and b/Plugins/SteamAudio/Content/Materials/Ceramic.uasset differ diff --git a/Plugins/SteamAudio/Content/Materials/Concrete.uasset b/Plugins/SteamAudio/Content/Materials/Concrete.uasset index aaec8f77..2e3b6011 100644 Binary files a/Plugins/SteamAudio/Content/Materials/Concrete.uasset and b/Plugins/SteamAudio/Content/Materials/Concrete.uasset differ diff --git a/Plugins/SteamAudio/Content/Materials/Glass.uasset b/Plugins/SteamAudio/Content/Materials/Glass.uasset index 5e08af8d..96580e98 100644 Binary files a/Plugins/SteamAudio/Content/Materials/Glass.uasset and b/Plugins/SteamAudio/Content/Materials/Glass.uasset differ diff --git a/Plugins/SteamAudio/Content/Materials/Metal.uasset b/Plugins/SteamAudio/Content/Materials/Metal.uasset index bf1190a2..2322fbd4 100644 Binary files a/Plugins/SteamAudio/Content/Materials/Metal.uasset and b/Plugins/SteamAudio/Content/Materials/Metal.uasset differ diff --git a/Plugins/SteamAudio/Content/Materials/Wood.uasset b/Plugins/SteamAudio/Content/Materials/Wood.uasset index cdbc1d22..21f4d9bf 100644 Binary files a/Plugins/SteamAudio/Content/Materials/Wood.uasset and b/Plugins/SteamAudio/Content/Materials/Wood.uasset differ diff --git a/Source/OdinUnrealSample/Private/EosPlayerController.cpp b/Source/OdinUnrealSample/Private/EosPlayerController.cpp index f4007789..f5b9dbe1 100644 --- a/Source/OdinUnrealSample/Private/EosPlayerController.cpp +++ b/Source/OdinUnrealSample/Private/EosPlayerController.cpp @@ -33,7 +33,8 @@ void AEosPlayerController::Login() if (NetId != nullptr && Identity->GetLoginStatus(0) == ELoginStatus::LoggedIn) { - return; + UE_LOG(LogTemp, Log, TEXT("Already logged in. Finding sessions.")); + FindSessions(); } /* This binds a delegate so we can run our function when the callback completes. 0 represents the player number. @@ -91,6 +92,23 @@ void AEosPlayerController::Login() } } +void AEosPlayerController::Logout() +{ + IOnlineSubsystem* Subsystem = Online::GetSubsystem(GetWorld()); + auto Session = Subsystem->GetSessionInterface(); + + DestroySessionDelegateHandle = + Session->AddOnDestroySessionCompleteDelegate_Handle( + FOnDestroySessionCompleteDelegate::CreateUObject( + this, + &ThisClass::HandleLogoutCompleted)); + + Session->DestroySession(LobbyName); +} + +void AEosPlayerController::HandleLogoutCompleted(FName SessionNameD, bool bWasSuccessful) +{ +} void AEosPlayerController::HandleLoginCompleted(int32 LocalUserNum, bool bWasSuccessful, const FUniqueNetId& UserId, const FString& Error) @@ -275,6 +293,7 @@ void AEosPlayerController::HandleFindSessionsCompleted(bool bWasSuccessful, TSha if (Session->GetResolvedConnectString(SessionInSearchResult, NAME_GamePort, ConnectString)) { SessionToJoin = &SessionInSearchResult; + SessionNameT = FName(SessionInSearchResult.GetSessionIdStr()); } // For the tutorial we will join the first session found automatically. Usually you would loop through all the sessions and determine which one is best to join. diff --git a/Source/OdinUnrealSample/Private/EosPlayerController.h b/Source/OdinUnrealSample/Private/EosPlayerController.h index 684c8cfe..81014b06 100644 --- a/Source/OdinUnrealSample/Private/EosPlayerController.h +++ b/Source/OdinUnrealSample/Private/EosPlayerController.h @@ -32,6 +32,14 @@ class AEosPlayerController : public APlayerController //Function to sign into EOS Game Services void Login(); + UFUNCTION(BlueprintCallable) + //Function to sign into EOS Game Services + void Logout(); + + void HandleLogoutCompleted(FName SessionName, bool bWasSuccessful); + + FDelegateHandle LogoutDelegateHandle; + //Callback function. This function is ran when signing into EOS Game Services completes. void HandleLoginCompleted(int32 LocalUserNum, bool bWasSuccessful, const FUniqueNetId& UserId, const FString& Error); @@ -78,4 +86,8 @@ class AEosPlayerController : public APlayerController // Delegate to bind callback event for join session. FDelegateHandle JoinSessionDelegateHandle; + + FDelegateHandle DestroySessionDelegateHandle; + + FName SessionNameT; };