From b6ea5934c5f1a2e402755c023cc04793ebd4bcec Mon Sep 17 00:00:00 2001 From: lishuo Date: Wed, 28 Jun 2023 17:14:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=E6=88=BF=E9=97=B4=E5=AF=B9=E6=88=98?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=E4=BB=A5=E5=8F=8Atimer?= =?UTF-8?q?=E9=97=B4=E9=9A=94=E4=BF=AE=E6=94=B9=E4=B8=BA500ms?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + ViewModels/MainWindowViewModel.cs | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 35bc1e9..9554cd9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .vs obj bin +.idea diff --git a/ViewModels/MainWindowViewModel.cs b/ViewModels/MainWindowViewModel.cs index 3d8d955..67a76ec 100644 --- a/ViewModels/MainWindowViewModel.cs +++ b/ViewModels/MainWindowViewModel.cs @@ -112,7 +112,7 @@ namespace OnlineUserPool.ViewModels Log.Information("服务启动成功"); - timer = new System.Timers.Timer(1000); + timer = new System.Timers.Timer(500); timer.Elapsed += Timer_Elapsed; timer.AutoReset = true; timer.Start(); @@ -524,28 +524,28 @@ namespace OnlineUserPool.ViewModels private void HandleGameRoomKick(ReceiveModel msg) { var msg1 = msg as GameRoomKickCommand; - var room = RoomList.ToList().Where(c => c.RoomId == msg1.RoomId).FirstOrDefault(); + var room = RoomList.ToList().FirstOrDefault(c => c.RoomId == msg1.RoomId); if (room != null) { var list = room.List; - var needRemove = list.Where(c => c.UserId == msg1.UserId).FirstOrDefault(); + var needRemove = list.FirstOrDefault(c => c.UserId == msg1.UserId); if (needRemove != null) { list.Remove(needRemove); //如果当前是房主退出房间,房主替换成其他人, 房主客户端中断也算 - if (needRemove.IsOwner && list.Count() > 0) + if (needRemove.IsOwner && list.Any()) { var newOwner = list.FirstOrDefault(); newOwner.IsOwner = true; room.UserId = newOwner.UserId; } } - //人数为0,删除房间 - if (list.Count() == 0) + //房间没有产生记录且人数为0,删除房间 + if (!room.Saved && !list.Any()) { RoomList.Remove(room); } - var mine = Clients.Where(c => c.MemberId == msg1.UserId).FirstOrDefault(); + var mine = Clients.FirstOrDefault(c => c.MemberId == msg1.UserId); if (mine != null) { mine.RoomId = 0;