online game working
This commit is contained in:
@@ -121,6 +121,27 @@ namespace MegaKoop.Game.Networking
|
|||||||
p2pTransport?.Send(target, type, payload, sendType);
|
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)
|
private void DispatchMessage(NetworkMessage message)
|
||||||
{
|
{
|
||||||
if (handlers.TryGetValue(message.Type, out Action<NetworkMessage> handler))
|
if (handlers.TryGetValue(message.Type, out Action<NetworkMessage> handler))
|
||||||
|
|||||||
@@ -386,7 +386,8 @@ namespace MegaKoop.UI
|
|||||||
|
|
||||||
EnsureComponent<SteamLobbyManager>();
|
EnsureComponent<SteamLobbyManager>();
|
||||||
EnsureComponent<SteamP2PTransport>();
|
EnsureComponent<SteamP2PTransport>();
|
||||||
EnsureComponent<SteamCoopNetworkManager>();
|
var coopManager = EnsureComponent<SteamCoopNetworkManager>();
|
||||||
|
coopManager.SynchronizeWithLobby(steam);
|
||||||
lobbyGameCoordinator = servicesRoot.GetComponent<LobbyGameSceneCoordinator>() ?? servicesRoot.AddComponent<LobbyGameSceneCoordinator>();
|
lobbyGameCoordinator = servicesRoot.GetComponent<LobbyGameSceneCoordinator>() ?? servicesRoot.AddComponent<LobbyGameSceneCoordinator>();
|
||||||
|
|
||||||
DontDestroyOnLoad(servicesRoot);
|
DontDestroyOnLoad(servicesRoot);
|
||||||
|
|||||||
Reference in New Issue
Block a user