mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-12-05 08:09:03 +00:00
修改创建房间逻辑
This commit is contained in:
parent
c66b25c21d
commit
7c75fbaf62
@ -167,11 +167,11 @@ namespace Milimoe.FunGame.Server.Controller
|
||||
Room room = General.HallInstance;
|
||||
if (RequestData.Count >= 3)
|
||||
{
|
||||
string roomtype_string = DataRequest.GetHashtableJsonObject<string>(RequestData, "roomtype") ?? RoomSet.All;
|
||||
RoomType type = DataRequest.GetHashtableJsonObject<RoomType>(RequestData, "roomtype");
|
||||
string gamemode = DataRequest.GetHashtableJsonObject<string>(RequestData, "gamemode") ?? "";
|
||||
string gamemap = DataRequest.GetHashtableJsonObject<string>(RequestData, "gamemap") ?? "";
|
||||
bool isrank = DataRequest.GetHashtableJsonObject<bool>(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<User>(RequestData, "master") ?? Factory.GetUser();
|
||||
string password = DataRequest.GetHashtableJsonObject<string>(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<string>(RequestData, "roomtype") ?? RoomSet.All;
|
||||
RoomType type = DataRequest.GetHashtableJsonObject<RoomType>(RequestData, "roomtype");
|
||||
User user = DataRequest.GetHashtableJsonObject<User>(RequestData, "matcher") ?? Factory.GetUser();
|
||||
Server.StartMatching(roomtype_string, user);
|
||||
Server.StartMatching(type, user);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -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);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user