优化了CreateRoom

This commit is contained in:
milimoe 2023-09-24 19:20:28 +08:00
parent 7a6b40800d
commit f36e900b7b
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E

View File

@ -150,11 +150,11 @@ namespace Milimoe.FunGame.Server.Controller
/// <param name="ResultData"></param> /// <param name="ResultData"></param>
private void CreateRoom(Hashtable RequestData, Hashtable ResultData) private void CreateRoom(Hashtable RequestData, Hashtable ResultData)
{ {
string roomid = "-1"; Room room = General.HallInstance;
if (RequestData.Count >= 3) if (RequestData.Count >= 3)
{ {
ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(SocketMessageType.DataRequest) + "] " + Server.GetClientName() + " -> CreateRoom"); ServerHelper.WriteLine("[" + ServerSocket.GetTypeString(SocketMessageType.DataRequest) + "] " + Server.GetClientName() + " -> CreateRoom");
string roomtype_string = DataRequest.GetHashtableJsonObject<string>(RequestData, "roomtype") ?? GameMode.GameMode_All; string roomtype_string = DataRequest.GetHashtableJsonObject<string>(RequestData, "roomtype") ?? GameMode.All;
User user = DataRequest.GetHashtableJsonObject<User>(RequestData, "master") ?? Factory.GetUser(); User user = DataRequest.GetHashtableJsonObject<User>(RequestData, "master") ?? Factory.GetUser();
string password = DataRequest.GetHashtableJsonObject<string>(RequestData, "password") ?? ""; string password = DataRequest.GetHashtableJsonObject<string>(RequestData, "password") ?? "";
@ -162,21 +162,26 @@ namespace Milimoe.FunGame.Server.Controller
{ {
RoomType roomtype = roomtype_string switch RoomType roomtype = roomtype_string switch
{ {
GameMode.GameMode_Mix => RoomType.Mix, GameMode.Mix => RoomType.Mix,
GameMode.GameMode_Team => RoomType.Team, GameMode.Team => RoomType.Team,
GameMode.GameMode_MixHasPass => RoomType.MixHasPass, GameMode.MixHasPass => RoomType.MixHasPass,
GameMode.GameMode_TeamHasPass => RoomType.TeamHasPass, GameMode.TeamHasPass => RoomType.TeamHasPass,
_ => RoomType.All _ => RoomType.All
}; };
roomid = Verification.CreateVerifyCode(VerifyCodeType.MixVerifyCode, 7).ToUpper(); string roomid = Verification.CreateVerifyCode(VerifyCodeType.MixVerifyCode, 7).ToUpper();
SQLHelper.Execute(RoomQuery.Insert_CreateRoom(roomid, user.Id, roomtype, password ?? "")); SQLHelper.Execute(RoomQuery.Insert_CreateRoom(roomid, user.Id, roomtype, password ?? ""));
if (SQLHelper.Result == SQLResult.Success) if (SQLHelper.Result == SQLResult.Success)
{ {
ServerHelper.WriteLine("[CreateRoom] Master: " + user.Username + " RoomID: " + roomid); ServerHelper.WriteLine("[CreateRoom] Master: " + user.Username + " RoomID: " + roomid);
SQLHelper.ExecuteDataSet(RoomQuery.Select_IsExistRoom(roomid));
if (SQLHelper.Result == SQLResult.Success && SQLHelper.DataSet.Tables[0].Rows.Count > 0)
{
room = Factory.GetRoom(SQLHelper.DataSet.Tables[0].Rows[0], user);
}
} }
} }
} }
ResultData.Add("roomid", roomid); ResultData.Add("room", room);
} }
/// <summary> /// <summary>