From 7c75fbaf62186fa606c621ddde74e542f77e7cde Mon Sep 17 00:00:00 2001 From: milimoe Date: Mon, 11 Dec 2023 01:09:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=9B=E5=BB=BA=E6=88=BF?= =?UTF-8?q?=E9=97=B4=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FunGame.Server/Controllers/DataRequestController.cs | 13 ++++++------- FunGame.Server/Models/ServerModel.cs | 7 +++---- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/FunGame.Server/Controllers/DataRequestController.cs b/FunGame.Server/Controllers/DataRequestController.cs index 527f38f..026d596 100644 --- a/FunGame.Server/Controllers/DataRequestController.cs +++ b/FunGame.Server/Controllers/DataRequestController.cs @@ -167,11 +167,11 @@ namespace Milimoe.FunGame.Server.Controller Room room = General.HallInstance; if (RequestData.Count >= 3) { - string roomtype_string = DataRequest.GetHashtableJsonObject(RequestData, "roomtype") ?? RoomSet.All; + RoomType type = DataRequest.GetHashtableJsonObject(RequestData, "roomtype"); string gamemode = DataRequest.GetHashtableJsonObject(RequestData, "gamemode") ?? ""; string gamemap = DataRequest.GetHashtableJsonObject(RequestData, "gamemap") ?? ""; bool isrank = DataRequest.GetHashtableJsonObject(RequestData, "isrank"); - ServerHelper.WriteLine(Server.GetClientName() + " -> " + DataRequestSet.GetTypeString(_LastRequest) + " : " + roomtype_string + " (" + string.Join(", ", [gamemode, gamemap]) + ")", InvokeMessageType.DataRequest); + ServerHelper.WriteLine(Server.GetClientName() + " -> " + DataRequestSet.GetTypeString(_LastRequest) + " : " + RoomSet.GetTypeString(type) + " (" + string.Join(", ", [gamemode, gamemap]) + ")", InvokeMessageType.DataRequest); if (gamemode == "" || gamemap == "") { ServerHelper.WriteLine("缺少对应的模组或地图,无法创建房间。"); @@ -181,11 +181,10 @@ namespace Milimoe.FunGame.Server.Controller User user = DataRequest.GetHashtableJsonObject(RequestData, "master") ?? Factory.GetUser(); string password = DataRequest.GetHashtableJsonObject(RequestData, "password") ?? ""; - if (!string.IsNullOrWhiteSpace(roomtype_string) && user.Id != 0) + if (user.Id != 0) { - RoomType roomtype = RoomSet.GetRoomType(roomtype_string); string roomid = Verification.CreateVerifyCode(VerifyCodeType.MixVerifyCode, 7).ToUpper(); - SQLHelper.Execute(RoomQuery.Insert_CreateRoom(roomid, user.Id, roomtype, gamemode, gamemap, isrank, password ?? "")); + SQLHelper.Execute(RoomQuery.Insert_CreateRoom(roomid, user.Id, type, gamemode, gamemap, isrank, password ?? "")); if (SQLHelper.Result == SQLResult.Success) { ServerHelper.WriteLine("[CreateRoom] Master: " + user.Username + " RoomID: " + roomid); @@ -278,9 +277,9 @@ namespace Milimoe.FunGame.Server.Controller if (!iscancel) { ServerHelper.WriteLine(Server.GetClientName() + " -> " + DataRequestSet.GetTypeString(_LastRequest) + " : Start", InvokeMessageType.DataRequest); - string roomtype_string = DataRequest.GetHashtableJsonObject(RequestData, "roomtype") ?? RoomSet.All; + RoomType type = DataRequest.GetHashtableJsonObject(RequestData, "roomtype"); User user = DataRequest.GetHashtableJsonObject(RequestData, "matcher") ?? Factory.GetUser(); - Server.StartMatching(roomtype_string, user); + Server.StartMatching(type, user); } else { diff --git a/FunGame.Server/Models/ServerModel.cs b/FunGame.Server/Models/ServerModel.cs index d1feeb1..12a9611 100644 --- a/FunGame.Server/Models/ServerModel.cs +++ b/FunGame.Server/Models/ServerModel.cs @@ -434,16 +434,15 @@ namespace Milimoe.FunGame.Server.Model return Send(socket, SocketMessageType.HeartBeat, ""); } - public void StartMatching(string roomtype_string, User user) + public void StartMatching(RoomType type, User user) { IsMatching = true; - ServerHelper.WriteLine(GetClientName() + " 开始匹配。类型:" + roomtype_string); + ServerHelper.WriteLine(GetClientName() + " 开始匹配。类型:" + RoomSet.GetTypeString(type)); TaskUtility.NewTask(async () => { if (IsMatching) { - RoomType roomtype = RoomSet.GetRoomType(roomtype_string); - Room room = await MatchingRoom(roomtype, user); + Room room = await MatchingRoom(type, user); if (IsMatching && Socket != null) { Send(Socket, SocketMessageType.MatchRoom, room);