From 73595994d164ce8fa38685e4ef08ccd94984b344 Mon Sep 17 00:00:00 2001 From: Marek Sorokin Date: Sun, 5 Oct 2025 19:31:52 +0200 Subject: [PATCH] online game working --- .../Networking/SteamCoopNetworkManager.cs | 21 +++++++++++++++++++ UI/Scripts/UGUIMultiplayerLobbyController.cs | 3 ++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/Game/Scripts/Networking/SteamCoopNetworkManager.cs b/Game/Scripts/Networking/SteamCoopNetworkManager.cs index 893bbc5..e46e07d 100644 --- a/Game/Scripts/Networking/SteamCoopNetworkManager.cs +++ b/Game/Scripts/Networking/SteamCoopNetworkManager.cs @@ -121,6 +121,27 @@ namespace MegaKoop.Game.Networking p2pTransport?.Send(target, type, payload, sendType); } + public void SynchronizeWithLobby(MegaKoop.Steam.SteamLobbyService steamService) + { + if (steamService == null) + { + return; + } + + isConnected = steamService.IsInLobby; + isHost = steamService.IsHost; + +#if STEAMWORKSNET + if (steamService.IsInLobby && p2pTransport != null) + { + if (ulong.TryParse(steamService.LobbyIdString, out ulong lobbyValue) && lobbyValue != 0) + { + p2pTransport.SetActiveLobby(new CSteamID(lobbyValue)); + } + } +#endif + } + private void DispatchMessage(NetworkMessage message) { if (handlers.TryGetValue(message.Type, out Action handler)) diff --git a/UI/Scripts/UGUIMultiplayerLobbyController.cs b/UI/Scripts/UGUIMultiplayerLobbyController.cs index 3be25c5..244b9e6 100644 --- a/UI/Scripts/UGUIMultiplayerLobbyController.cs +++ b/UI/Scripts/UGUIMultiplayerLobbyController.cs @@ -386,7 +386,8 @@ namespace MegaKoop.UI EnsureComponent(); EnsureComponent(); - EnsureComponent(); + var coopManager = EnsureComponent(); + coopManager.SynchronizeWithLobby(steam); lobbyGameCoordinator = servicesRoot.GetComponent() ?? servicesRoot.AddComponent(); DontDestroyOnLoad(servicesRoot);