更新刷新房间的逻辑 (#4)

This commit is contained in:
milimoe 2023-04-07 00:34:46 +08:00 committed by GitHub
parent 2e0772157e
commit 59d5d50853
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 8 deletions

View File

@ -327,15 +327,18 @@ namespace Milimoe.FunGame.Server.Model
return Send(socket, type, false, msg); return Send(socket, type, false, msg);
case SocketMessageType.UpdateRoom: case SocketMessageType.UpdateRoom:
Config.RoomList = new(Server); Config.RoomList ??= new(Server);
DataSet DsRoom = SQLHelper.ExecuteDataSet(RoomQuery.Select_Rooms, out SQLResult TestResult); Config.RoomList.Clear();
DataSet DsRoomTemp = new(), DsUserTemp = new();
DsRoomTemp = SQLHelper.ExecuteDataSet(RoomQuery.Select_Rooms, out SQLResult TestResult);
if (TestResult == SQLResult.Success) if (TestResult == SQLResult.Success)
{ {
DataSet DsUser = SQLHelper.ExecuteDataSet(UserQuery.Select_Users, out TestResult); DsUserTemp = SQLHelper.ExecuteDataSet(UserQuery.Select_Users, out TestResult);
List<Room> rooms = Factory.GetList<Room>(DsRoom, DsUser); List<Room> rooms = Factory.GetList<Room>(DsRoomTemp, DsUserTemp);
Config.RoomList.AddRooms(rooms); Config.RoomList.AddRoom(General.HallInstance); // 添加空房间
Config.RoomList.AddRooms(rooms); // 更新服务器中的房间列表
} }
return Send(socket, type, Config.RoomList.GetRoomIDList()); return Send(socket, type, DsRoomTemp, DsUserTemp); // 将Ds传递给客户端在客户端中构建Room
case SocketMessageType.CreateRoom: case SocketMessageType.CreateRoom:
msg = "-1"; msg = "-1";
@ -351,10 +354,11 @@ namespace Milimoe.FunGame.Server.Model
{ {
RoomType roomtype = roomtype_string switch RoomType roomtype = roomtype_string switch
{ {
GameMode.GameMode_Mix => RoomType.Mix,
GameMode.GameMode_Team => RoomType.Team, GameMode.GameMode_Team => RoomType.Team,
GameMode.GameMode_MixHasPass => RoomType.MixHasPass, GameMode.GameMode_MixHasPass => RoomType.MixHasPass,
GameMode.GameMode_TeamHasPass => RoomType.TeamHasPass, GameMode.GameMode_TeamHasPass => RoomType.TeamHasPass,
_ => RoomType.Mix, _ => RoomType.None
}; };
string roomid = Verification.CreateVerifyCode(VerifyCodeType.MixVerifyCode, 7).ToUpper(); string roomid = Verification.CreateVerifyCode(VerifyCodeType.MixVerifyCode, 7).ToUpper();
SQLHelper.Execute(RoomQuery.Insert_CreateRoom(roomid, userid, roomtype, password ?? ""), out SQLResult result); SQLHelper.Execute(RoomQuery.Insert_CreateRoom(roomid, userid, roomtype, password ?? ""), out SQLResult result);
@ -390,6 +394,9 @@ namespace Milimoe.FunGame.Server.Model
} }
return Send(socket, type, false); return Send(socket, type, false);
case SocketMessageType.MatchRoom:
break;
case SocketMessageType.ChangeRoomSetting: case SocketMessageType.ChangeRoomSetting:
break; break;
} }

View File

@ -144,7 +144,7 @@ namespace Milimoe.FunGame.Server.Utility
private string GetClientName() private string GetClientName()
{ {
if (ServerModel is null) return ""; if (ServerModel is null) return "";
return SocketHelper.MakeClientName(ServerModel.ClientName, ServerModel.User) + " "; return ServerHelper.MakeClientName(ServerModel.ClientName, ServerModel.User) + " ";
} }
} }
} }