diff --git a/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/LargeBuildingCombined.uasset b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/LargeBuildingCombined.uasset new file mode 100644 index 0000000..2c5a53a --- /dev/null +++ b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/LargeBuildingCombined.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e738336dd3aecef2b592b2cd362ceafed79db395d53f3ab9edadf33a1f1dcffe +size 120386 diff --git a/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/Material.uasset b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/Material.uasset new file mode 100644 index 0000000..c154cad --- /dev/null +++ b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/Material.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76ba4cd518d3c369e9f28f3bae77a7a47d219262019cc043a6eb3298a963100c +size 9108 diff --git a/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/MediumBuildingCombined.uasset b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/MediumBuildingCombined.uasset new file mode 100644 index 0000000..b2d7703 --- /dev/null +++ b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/MediumBuildingCombined.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aff024f65312cf930cd7031b320f29ec367123c40c125b799ccbcd19bc8f0b51 +size 104556 diff --git a/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/SmallBuildingCombined.uasset b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/SmallBuildingCombined.uasset new file mode 100644 index 0000000..6b5eec4 --- /dev/null +++ b/Content/Assets/BlockoutAssets/HouseBlockout/CombinedBuildings/SmallBuildingCombined.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7124ef41a1d98c02dd0082a0be849acab6e85e8b96d8b65530e90ae6eb76f5f +size 87089 diff --git a/Content/Assets/BlockoutAssets/IonaBaseBlockout/BlockOutMaterial.uasset b/Content/Assets/BlockoutAssets/IonaBaseBlockout/BlockOutMaterial.uasset index e19d74d..d360144 100644 --- a/Content/Assets/BlockoutAssets/IonaBaseBlockout/BlockOutMaterial.uasset +++ b/Content/Assets/BlockoutAssets/IonaBaseBlockout/BlockOutMaterial.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ff54ec0b6a53b83973249283da0fbc62b5cb490e5bcc96b6c00d54faa9c2a1e -size 12583 +oid sha256:feef49ec33540accaf71431f2ad1ca6afa42c88bc9f25a1ce0356abb6164195e +size 12611 diff --git a/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig.uasset b/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig.uasset index ffc689f..b3f90b3 100644 --- a/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig.uasset +++ b/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07275b4d6e8dd6d77390a34a78d26381b1c6afcc600b70d989638c1d3e2e0b39 -size 590315 +oid sha256:5883c56f50f181b2640283055a689447804a3d4d65a3be7c33f19f02f2492cd4 +size 590566 diff --git a/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig_Skeleton.uasset b/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig_Skeleton.uasset index eac14ee..b9609f2 100644 --- a/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig_Skeleton.uasset +++ b/Content/Assets/BlockoutAssets/MonolithBlockout/Monolith_blockout_Rig_Skeleton.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13c89f25dbe2673220a77a288074c3f015b849f069a5b3d3eddb818a445c9ad7 -size 74842 +oid sha256:92aa4bb4a6e72e90e10028ba6dc97367ba8ab7736aec26510031e85251b1e036 +size 75318 diff --git a/Content/Assets/ChaosAssets/AnchorField.uasset b/Content/Assets/ChaosAssets/AnchorField.uasset new file mode 100644 index 0000000..e5b4e40 --- /dev/null +++ b/Content/Assets/ChaosAssets/AnchorField.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b63848f7a0245ef6b4518e2826f1031cec4321bda22429a7f1d986c71078fb0 +size 29793 diff --git a/Content/Assets/ChaosAssets/DisableField.uasset b/Content/Assets/ChaosAssets/DisableField.uasset new file mode 100644 index 0000000..bf082ee --- /dev/null +++ b/Content/Assets/ChaosAssets/DisableField.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01d33aa9d754f814fbc3e9673d635df983dd65f56338c3e26e46c94bef5c3a3a +size 29769 diff --git a/Content/Assets/ChaosAssets/LargeBuilding.uasset b/Content/Assets/ChaosAssets/LargeBuilding.uasset new file mode 100644 index 0000000..5f9e227 --- /dev/null +++ b/Content/Assets/ChaosAssets/LargeBuilding.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b7fe473bb3461550a4aa4840f8efe6fe766b32b4f726388c2636fc018267bf72 +size 7778550 diff --git a/Content/Assets/ChaosAssets/LargeBuildingCombined.uasset b/Content/Assets/ChaosAssets/LargeBuildingCombined.uasset new file mode 100644 index 0000000..af75f98 --- /dev/null +++ b/Content/Assets/ChaosAssets/LargeBuildingCombined.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7866e3d285ec1070a1fd5bd2f23a53e17feb1840f78fe4097b926e55bd4f7dc0 +size 36331862 diff --git a/Content/Assets/ChaosAssets/MediumBuilding.uasset b/Content/Assets/ChaosAssets/MediumBuilding.uasset new file mode 100644 index 0000000..d296841 --- /dev/null +++ b/Content/Assets/ChaosAssets/MediumBuilding.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3602c4a992b6479d566a94b720379a673c576297bc658c856608d0197e439e63 +size 7861566 diff --git a/Content/Assets/ChaosAssets/MediumBuildingCombined.uasset b/Content/Assets/ChaosAssets/MediumBuildingCombined.uasset new file mode 100644 index 0000000..f0a7f52 --- /dev/null +++ b/Content/Assets/ChaosAssets/MediumBuildingCombined.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c5517fd6bcc0ab00d00492c3335821eb2b19d9ca020b0bd0260373965584c36 +size 3267836 diff --git a/Content/Assets/ChaosAssets/SmallBuildingDestruction.uasset b/Content/Assets/ChaosAssets/SmallBuildingDestruction.uasset new file mode 100644 index 0000000..7036277 --- /dev/null +++ b/Content/Assets/ChaosAssets/SmallBuildingDestruction.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:292f8c8223a48fdc43b525ef97f3bd6a0b8f78e5e13c00c6a36d2e86645e3e1e +size 3394039 diff --git a/Content/Enemies/Flats/BP_FlatsMonster.uasset b/Content/Enemies/Flats/BP_FlatsMonster.uasset new file mode 100644 index 0000000..9244dfd --- /dev/null +++ b/Content/Enemies/Flats/BP_FlatsMonster.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2490a32f128d922eeccd2de310b85940d1f2768d8af0387cbdebd43f57d7bdb +size 45403 diff --git a/Content/Enemies/Flats/FlatsMonsterRigged.uasset b/Content/Enemies/Flats/FlatsMonsterRigged.uasset new file mode 100644 index 0000000..80372f5 --- /dev/null +++ b/Content/Enemies/Flats/FlatsMonsterRigged.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:065bdd46a49fc4cbf734d2962886ad8da95ed004cf436d85035a05c03a1d20f6 +size 1156791 diff --git a/Content/Enemies/Flats/FlatsMonsterRigged_PhysicsAsset.uasset b/Content/Enemies/Flats/FlatsMonsterRigged_PhysicsAsset.uasset new file mode 100644 index 0000000..4f7aaa6 --- /dev/null +++ b/Content/Enemies/Flats/FlatsMonsterRigged_PhysicsAsset.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75b28c22f5d3da12125be49373c7332131193fe2df78e0a62eef66df834ef426 +size 14741 diff --git a/Content/Enemies/Flats/FlatsMonsterRigged_Skeleton.uasset b/Content/Enemies/Flats/FlatsMonsterRigged_Skeleton.uasset new file mode 100644 index 0000000..00eda77 --- /dev/null +++ b/Content/Enemies/Flats/FlatsMonsterRigged_Skeleton.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:feb3efd2989ce26acb16f01e81ce8c3bd9ddb7f094f0a7cde0649b8f4ba7366e +size 72436 diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset index bf6a3e7..ea50ca3 100644 --- a/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset +++ b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6f143cb54550b86bd0796650f0fd8e0aac611b9812f0c2dcd809e3f180b0fd4 -size 320866 +oid sha256:89060747c2145def58d57943b0b333c5f5b216c9c7107582d76a9454a3d82de8 +size 342019 diff --git a/Content/Levels/PrototypeLevel.umap b/Content/Levels/PrototypeLevel.umap index dac0f37..5619abe 100644 --- a/Content/Levels/PrototypeLevel.umap +++ b/Content/Levels/PrototypeLevel.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c6ff0d6382766cc1157a78728822909f3e97d2c961bfd79bbd705f8f6746610b -size 9191661 +oid sha256:27fb8937749a5b4d9cf62ab0454166535ddcdbd80d95c0e73d11a4cc2b4fecb3 +size 8486661 diff --git a/Content/Levels/PrototypeLevelRework.umap b/Content/Levels/PrototypeLevelRework.umap new file mode 100644 index 0000000..2e1c928 --- /dev/null +++ b/Content/Levels/PrototypeLevelRework.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b663c290ead16b09c53384274983c728cd74f773dd8631462429bdb306958b1 +size 2720743 diff --git a/Content/Monolith/Animations/Ability_1.uasset b/Content/Monolith/Animations/Ability_1.uasset new file mode 100644 index 0000000..d56d646 --- /dev/null +++ b/Content/Monolith/Animations/Ability_1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7a94bd2d1160cfb5cb5ab7f96d28c7c512693ee8a473fda2b96ebd1f0971667 +size 35766464 diff --git a/Content/Monolith/Animations/Ability_1Montage.uasset b/Content/Monolith/Animations/Ability_1Montage.uasset new file mode 100644 index 0000000..1caa296 --- /dev/null +++ b/Content/Monolith/Animations/Ability_1Montage.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d6b44357b5fba5078b3ff6dc45b9a2ab79221e9e3b514451dd6cdf72660fed6f +size 9265 diff --git a/Content/Monolith/Animations/MonolithAnimBlueprint.uasset b/Content/Monolith/Animations/MonolithAnimBlueprint.uasset new file mode 100644 index 0000000..a69c91c --- /dev/null +++ b/Content/Monolith/Animations/MonolithAnimBlueprint.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1739b7151063f654408244a25daedc7eab29737a6afe6cf36f36e8320b05174 +size 37455 diff --git a/Content/Monolith/BPI_AOverheat.uasset b/Content/Monolith/BPI_AOverheat.uasset index 59400e5..5601c19 100644 --- a/Content/Monolith/BPI_AOverheat.uasset +++ b/Content/Monolith/BPI_AOverheat.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ce069207eb27f77e2ff24383695ae65cd719bcabbebd497fc3d4ae7f7a5eafb -size 30065 +oid sha256:2048062c510d1fd8bca0769d2ed34cc2126fcccc248581ff16c382baf135c3c7 +size 81247 diff --git a/Content/Monolith/BPI_Bullet.uasset b/Content/Monolith/BPI_Bullet.uasset index 54fca47..07e9d26 100644 --- a/Content/Monolith/BPI_Bullet.uasset +++ b/Content/Monolith/BPI_Bullet.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:642be458f27be81d4d616c4e5d0ab77d6cf91d407a1dca42b63643da92e4ef56 -size 60922 +oid sha256:905f3a8d711eb703a1dbecde6ad0839060766c7f91f2df9a4e919e6851e7ebce +size 78772 diff --git a/Content/Monolith/BPI_MeeleWeapon.uasset b/Content/Monolith/BPI_MeeleWeapon.uasset index 9577994..64b9480 100644 --- a/Content/Monolith/BPI_MeeleWeapon.uasset +++ b/Content/Monolith/BPI_MeeleWeapon.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:119ede114e954ffdb164837884d34704a41ce958ac022aa65ce754444dad8013 -size 30542 +oid sha256:b20f17043ea6dec646d118819cabb9d2b110adde930fedde52f520300304d56f +size 73554 diff --git a/Content/Monolith/BPI_Monolith.uasset b/Content/Monolith/BPI_Monolith.uasset index 7ab6196..7e1003d 100644 --- a/Content/Monolith/BPI_Monolith.uasset +++ b/Content/Monolith/BPI_Monolith.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f1d91017959c5992f846b353521c2f7f21e7a56258d5c4516856c4c8a488c65 -size 284460 +oid sha256:c654470faf96019a2a09460ab7e8108bca9f2e52d525a67397ec4ecde7af0c54 +size 437368 diff --git a/Content/Monolith/Input/IA_MAbilitySelection.uasset b/Content/Monolith/Input/IA_MAbilitySelection.uasset new file mode 100644 index 0000000..0307b55 --- /dev/null +++ b/Content/Monolith/Input/IA_MAbilitySelection.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:940952854655c8cc96ed730477256911d909dcb11d0c9d3d4609484af0d850c7 +size 1431 diff --git a/Content/Monolith/Input/IA_MJump.uasset b/Content/Monolith/Input/IA_MJump.uasset new file mode 100644 index 0000000..96bd697 --- /dev/null +++ b/Content/Monolith/Input/IA_MJump.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:235780e743540db841e73189f073d86d3150432ecb7906a723790e18afe66a6d +size 1371 diff --git a/Content/Monolith/Input/IA_MLook.uasset b/Content/Monolith/Input/IA_MLook.uasset new file mode 100644 index 0000000..730518f --- /dev/null +++ b/Content/Monolith/Input/IA_MLook.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9ef9f3ba422c50ead5d04f326a7fa3f9daa82f602d810d245dc4dab91b7b3b9 +size 1567 diff --git a/Content/Monolith/Input/IA_MMove.uasset b/Content/Monolith/Input/IA_MMove.uasset new file mode 100644 index 0000000..4301d71 --- /dev/null +++ b/Content/Monolith/Input/IA_MMove.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a14e0b0259cf7257c7df0bfa4f001e19b762ed4b905eb6ac081f3eb48384f01d +size 1567 diff --git a/Content/Monolith/Input/IA_Mability1.uasset b/Content/Monolith/Input/IA_Mability1.uasset new file mode 100644 index 0000000..dd76b71 --- /dev/null +++ b/Content/Monolith/Input/IA_Mability1.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:651adf43013052188278d5fb7cfc473a9b24177e6a164b09dbda82223bdec917 +size 1391 diff --git a/Content/Monolith/Input/IMC_Monolith.uasset b/Content/Monolith/Input/IMC_Monolith.uasset new file mode 100644 index 0000000..5e3d5c7 --- /dev/null +++ b/Content/Monolith/Input/IMC_Monolith.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:109de11973198fe65c4acfee5fb05d86f5a107bd3ecbfbf8ba7b2e8ed5edea0c +size 8890 diff --git a/Content/QuestSystem/QuestData.uasset b/Content/QuestSystem/QuestData.uasset index 661dd4e..426512c 100644 --- a/Content/QuestSystem/QuestData.uasset +++ b/Content/QuestSystem/QuestData.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d856e4ab5d9267903f42a14fde1e6394e93ce81fa300c84d868a33f69dd492a2 -size 13930 +oid sha256:68fe6811627192f014a151643aca8ebf502db26a99d6d5073a71c532dcdf19e9 +size 32353 diff --git a/Monolith.uproject b/Monolith.uproject index 5dbac3b..90b8db5 100644 --- a/Monolith.uproject +++ b/Monolith.uproject @@ -1,6 +1,6 @@ { "FileVersion": 3, - "EngineAssociation": "5.4", + "EngineAssociation": "5.5", "Category": "", "Description": "", "Modules": [ diff --git a/Plugins/AdvancedSessions/AdvancedSessions.uplugin b/Plugins/AdvancedSessions/AdvancedSessions.uplugin index 7dc2e3a..a970a4a 100644 --- a/Plugins/AdvancedSessions/AdvancedSessions.uplugin +++ b/Plugins/AdvancedSessions/AdvancedSessions.uplugin @@ -1,8 +1,8 @@ { "FileVersion": 3, "FriendlyName": "Advanced Sessions", - "Version": 5.4, - "VersionName": "5.4", + "Version": 5.5, + "VersionName": "5.5", "Description": "Adds new blueprint functions to handle more advanced session operations.", "Category": "Advanced Sessions Plugin", "CreatedBy": "Joshua Statzer", diff --git a/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h b/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h index be1def9..29d5018 100644 --- a/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h +++ b/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/AdvancedFriendsGameInstance.h @@ -52,6 +52,13 @@ public: FOnSessionInviteReceivedDelegate SessionInviteReceivedDelegate; FDelegateHandle SessionInviteReceivedDelegateHandle; + // custom handle to join directly from steam ui "Join Game" + FDelegateHandle OnJoinSessionCompleteDelegateHandle; + // custom Steam UI Join User function #Self invite# + void OnSessionUserInviteAccepted(const bool bWasSuccessful, const int32 ControllerId, FUniqueNetIdPtr UserId, const FOnlineSessionSearchResult& InviteResult); + // custom Steam UI function to client travel #Self invite# + void OnJoinSessionComplete(FName SessionName, EOnJoinSessionCompleteResult::Type Result); + //const FUniqueNetId& /*UserId*/, const FUniqueNetId& /*FromId*/, const FString& /*AppId*/, const FOnlineSessionSearchResult& /*InviteResult*/ void OnSessionInviteReceivedMaster(const FUniqueNetId & PersonInvited, const FUniqueNetId & PersonInviting, const FString & AppId, const FOnlineSessionSearchResult& SessionToJoin); diff --git a/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h b/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h index e610277..5d225d8 100644 --- a/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h +++ b/Plugins/AdvancedSessions/Source/AdvancedSessions/Classes/FindSessionsCallbackProxyAdvanced.h @@ -28,7 +28,7 @@ class UFindSessionsCallbackProxyAdvanced : public UOnlineBlueprintCallProxyBase // Searches for advertised sessions with the default online subsystem and includes an array of filters UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true", WorldContext = "WorldContextObject", AutoCreateRefTerm="Filters"), Category = "Online|AdvancedSessions") - static UFindSessionsCallbackProxyAdvanced* FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int32 MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray &Filters, bool bEmptyServersOnly = false, bool bNonEmptyServersOnly = false, bool bSecureServersOnly = false, bool bSearchLobbies = true, int MinSlotsAvailable = 0); + static UFindSessionsCallbackProxyAdvanced* FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int32 MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray &Filters, bool bEmptyServersOnly = false, bool bNonEmptyServersOnly = false, bool bSecureServersOnly = false, /*bool bSearchLobbies = true,*/ int MinSlotsAvailable = 0); static bool CompareVariants(const FVariantData &A, const FVariantData &B, EOnlineComparisonOpRedux Comparator); @@ -99,7 +99,7 @@ private: bool bSecureServersOnly; // Search through lobbies - bool bSearchLobbies; + //bool bSearchLobbies; // Min slots requires to search int MinSlotsAvailable; diff --git a/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedFriendsGameInstance.cpp b/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedFriendsGameInstance.cpp index 47afb6a..706bae5 100644 --- a/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedFriendsGameInstance.cpp +++ b/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/AdvancedFriendsGameInstance.cpp @@ -20,6 +20,37 @@ UAdvancedFriendsGameInstance::UAdvancedFriendsGameInstance(const FObjectInitiali { } +void UAdvancedFriendsGameInstance::OnSessionUserInviteAccepted(const bool bWasSuccessful, const int32 ControllerId, FUniqueNetIdPtr UserId, const FOnlineSessionSearchResult& InviteResult) +{ + IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld()); + if (SessionInterface.IsValid()) + { + SessionInterface->ClearOnJoinSessionCompleteDelegate_Handle(OnJoinSessionCompleteDelegateHandle); + OnJoinSessionCompleteDelegateHandle = SessionInterface->AddOnJoinSessionCompleteDelegate_Handle( + FOnJoinSessionCompleteDelegate::CreateUObject(this, &UAdvancedFriendsGameInstance::OnJoinSessionComplete)); + + SessionInterface->JoinSession(0, NAME_GameSession, InviteResult); + } + UE_LOG(AdvancedFriendsInterfaceLog, Log, TEXT("Called Join Session for Steam Friends List UI InviteResults: %s, UserId: %s"), *InviteResult.GetSessionIdStr(), *UserId->ToString()); +} + +void UAdvancedFriendsGameInstance::OnJoinSessionComplete(FName SessionName, EOnJoinSessionCompleteResult::Type Result) +{ + IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld()); + if (SessionInterface.IsValid()) + { + FString ConnectInfo; + if (SessionInterface->GetResolvedConnectString(NAME_GameSession, ConnectInfo)) + { + APlayerController* PlayerController = GetFirstLocalPlayerController(); + if (PlayerController) + { + PlayerController->ClientTravel(ConnectInfo, ETravelType::TRAVEL_Absolute); + } + } + } +} + void UAdvancedFriendsGameInstance::Shutdown() { IOnlineSessionPtr SessionInterface = Online::GetSessionInterface(GetWorld()); @@ -34,6 +65,7 @@ void UAdvancedFriendsGameInstance::Shutdown() // Clear all of the delegate handles here SessionInterface->ClearOnSessionUserInviteAcceptedDelegate_Handle(SessionInviteAcceptedDelegateHandle); SessionInterface->ClearOnSessionInviteReceivedDelegate_Handle(SessionInviteReceivedDelegateHandle); + SessionInterface->ClearOnJoinSessionCompleteDelegate_Handle(OnJoinSessionCompleteDelegateHandle); } @@ -80,6 +112,9 @@ void UAdvancedFriendsGameInstance::Init() SessionInviteAcceptedDelegateHandle = SessionInterface->AddOnSessionUserInviteAcceptedDelegate_Handle(SessionInviteAcceptedDelegate); SessionInviteReceivedDelegateHandle = SessionInterface->AddOnSessionInviteReceivedDelegate_Handle(SessionInviteReceivedDelegate); + + // Custom steam join game delegate + SessionInterface->OnSessionUserInviteAcceptedDelegates.AddUObject(this, &UAdvancedFriendsGameInstance::OnSessionUserInviteAccepted); } else { diff --git a/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp b/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp index dc0dc4b..7325caa 100644 --- a/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp +++ b/Plugins/AdvancedSessions/Source/AdvancedSessions/Private/FindSessionsCallbackProxyAdvanced.cpp @@ -16,7 +16,7 @@ UFindSessionsCallbackProxyAdvanced::UFindSessionsCallbackProxyAdvanced(const FOb bIsOnSecondSearch = false; } -UFindSessionsCallbackProxyAdvanced* UFindSessionsCallbackProxyAdvanced::FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray &Filters, bool bEmptyServersOnly, bool bNonEmptyServersOnly, bool bSecureServersOnly, bool bSearchLobbies, int MinSlotsAvailable) +UFindSessionsCallbackProxyAdvanced* UFindSessionsCallbackProxyAdvanced::FindSessionsAdvanced(UObject* WorldContextObject, class APlayerController* PlayerController, int MaxResults, bool bUseLAN, EBPServerPresenceSearchType ServerTypeToSearch, const TArray &Filters, bool bEmptyServersOnly, bool bNonEmptyServersOnly, bool bSecureServersOnly, /*bool bSearchLobbies,*/ int MinSlotsAvailable) { UFindSessionsCallbackProxyAdvanced* Proxy = NewObject(); Proxy->PlayerControllerWeakPtr = PlayerController; @@ -28,7 +28,7 @@ UFindSessionsCallbackProxyAdvanced* UFindSessionsCallbackProxyAdvanced::FindSess Proxy->bEmptyServersOnly = bEmptyServersOnly, Proxy->bNonEmptyServersOnly = bNonEmptyServersOnly; Proxy->bSecureServersOnly = bSecureServersOnly; - Proxy->bSearchLobbies = bSearchLobbies; + //Proxy->bSearchLobbies = bSearchLobbies; Proxy->MinSlotsAvailable = MinSlotsAvailable; return Proxy; } @@ -114,9 +114,9 @@ void UFindSessionsCallbackProxyAdvanced::Activate() case EBPServerPresenceSearchType::ClientServersOnly: { - tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); + //tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); - if (bSearchLobbies && !IOnlineSubsystem::DoesInstanceExist("STEAM")) + //if (bSearchLobbies)// && !IOnlineSubsystem::DoesInstanceExist("STEAM")) tem.Set(SEARCH_LOBBIES, true, EOnlineComparisonOp::Equals); } break; @@ -140,9 +140,9 @@ void UFindSessionsCallbackProxyAdvanced::Activate() FOnlineSearchSettingsEx DedicatedOnly = tem; - tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); + //tem.Set(SEARCH_PRESENCE, true, EOnlineComparisonOp::Equals); - if (bSearchLobbies && !IOnlineSubsystem::DoesInstanceExist("STEAM")) + //if (bSearchLobbies)// && !IOnlineSubsystem::DoesInstanceExist("STEAM")) tem.Set(SEARCH_LOBBIES, true, EOnlineComparisonOp::Equals); //DedicatedOnly.Set(SEARCH_DEDICATED_ONLY, true, EOnlineComparisonOp::Equals);