From 54d3470dea9fc4a2fb595ee475cbff06d68ee873 Mon Sep 17 00:00:00 2001 From: ZouJin Date: Sat, 16 Mar 2024 19:21:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B0=E7=8E=A9=E5=AE=B6?= =?UTF-8?q?=E8=AE=BF=E5=AE=A2bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MutiPlayer/winMutiPlayer.xaml.cs | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/VPet-Simulator.Windows/MutiPlayer/winMutiPlayer.xaml.cs b/VPet-Simulator.Windows/MutiPlayer/winMutiPlayer.xaml.cs index 5357465..730e25e 100644 --- a/VPet-Simulator.Windows/MutiPlayer/winMutiPlayer.xaml.cs +++ b/VPet-Simulator.Windows/MutiPlayer/winMutiPlayer.xaml.cs @@ -41,12 +41,26 @@ public partial class winMutiPlayer : Window } public async void JoinLobby(ulong? lobbyid) { - lb = (await SteamMatchmaking.JoinLobbyAsync((SteamId)lobbyid)).Value; + var lbt = (await SteamMatchmaking.JoinLobbyAsync((SteamId)lobbyid)); + if (!lbt.HasValue) + { + MessageBoxX.Show("加入/创建访客表失败,请检查网络连接或重启游戏".Translate()); + Close(); + return; + } + lb = lbt.Value; ShowLobbyInfo(); } public async void CreateLobby() { - lb = (await SteamMatchmaking.CreateLobbyAsync()).Value; + var lbt = (await SteamMatchmaking.CreateLobbyAsync()); + if (!lbt.HasValue) + { + MessageBoxX.Show("加入/创建访客表失败,请检查网络连接或重启游戏".Translate()); + Close(); + return; + } + lb = lbt.Value; lb.SetJoinable(true); lb.SetPublic(); swAllowJoin.Visibility = Visibility.Visible; @@ -84,8 +98,9 @@ public partial class winMutiPlayer : Window } public async void ShowLobbyInfo() { + lb.SetMemberData("save", mw.GameSavesData.GameSave.ToLine().ToString()); - lb.SetMemberData("onmod", mw.Set.FindLine("onmod").ToString()); + lb.SetMemberData("onmod", mw.Set.FindLine("onmod")?.ToString() ?? "onmod"); lb.SetMemberData("petgraph", mw.Set.PetGraph); SteamMatchmaking.OnLobbyDataChanged += SteamMatchmaking_OnLobbyDataChanged; @@ -93,7 +108,7 @@ public partial class winMutiPlayer : Window SteamMatchmaking.OnLobbyMemberJoined += SteamMatchmaking_OnLobbyMemberJoined; hostName.Text = lb.Owner.Name; lbLid.Text = lb.Id.Value.ToString("x"); - Steamworks.Data.Image? img = (await lb.Owner.GetMediumAvatarAsync()); + Steamworks.Data.Image? img = await lb.Owner.GetMediumAvatarAsync(); if (img.HasValue) { HostHead.Source = ConvertToImageSource(img.Value);