From 8d432ddcd40d495da66988b9cd2b048ff047e6a9 Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Wed, 18 Sep 2024 11:35:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=A6=BB=E5=BC=80=E6=88=BF=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AxibugEmuOnline.Client/Assets/Script/Event/EEvent.cs | 1 + .../Assets/Script/Manager/AppRoom.cs | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/AxibugEmuOnline.Client/Assets/Script/Event/EEvent.cs b/AxibugEmuOnline.Client/Assets/Script/Event/EEvent.cs index 666423b..d409649 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Event/EEvent.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Event/EEvent.cs @@ -8,6 +8,7 @@ OnRoomListAllUpdate,//房间列表全量刷新 OnRoomListSingleUpdate,//房间列表中单个更新 + OnRoomListSingleClose,//房间关闭 OnRoomGetRoomScreen,//获取到房间数据 /// diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs index 515db04..86185a8 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs @@ -200,8 +200,16 @@ namespace AxibugEmuOnline.Client.Manager { App.log.Debug("单个房间状态更新"); Protobuf_Room_Update_RESP msg = ProtoBufHelper.DeSerizlize(reqData); - AddOrUpdateRoomList(msg.RoomMiniInfo); - Eventer.Instance.PostEvent(EEvent.OnRoomListSingleUpdate, msg.RoomMiniInfo.GameRomID); + if (msg.UpdateType == 0) + { + AddOrUpdateRoomList(msg.RoomMiniInfo); + Eventer.Instance.PostEvent(EEvent.OnRoomListSingleUpdate, msg.RoomMiniInfo.GameRomID); + } + else + { + RemoveRoomList(msg.RoomMiniInfo.GameRomID); + Eventer.Instance.PostEvent(EEvent.OnRoomListSingleClose, msg.RoomMiniInfo.GameRomID); + } } /// From 46fdfee412eb94b4834c9923d56fbaf60353eb31 Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Wed, 18 Sep 2024 11:37:43 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=98=AF=E5=90=A6=E7=94=BB=E9=9D=A2?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E8=80=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs index 86185a8..22e12c4 100644 --- a/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs +++ b/AxibugEmuOnline.Client/Assets/Script/Manager/AppRoom.cs @@ -16,6 +16,7 @@ namespace AxibugEmuOnline.Client.Manager public Protobuf_Room_MiniInfo mineRoomMiniInfo { get; private set; } = null; public bool InRoom => mineRoomMiniInfo != null; public bool IsHost => mineRoomMiniInfo?.HostPlayerUID == App.user.userdata.UID; + public bool IsScreenProviderUID => mineRoomMiniInfo?.ScreenProviderUID == App.user.userdata.UID; public RoomGameState RoomState => mineRoomMiniInfo.GameState; public int MinePlayerIdx => GetMinePlayerIndex(); public int WaitStep { get; private set; } = -1;