mirror of
https://github.com/project-redbud/FunGame-Server.git
synced 2025-12-05 16:16:34 +00:00
修改创建房间逻辑
This commit is contained in:
parent
c66b25c21d
commit
7c75fbaf62
@ -167,11 +167,11 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
Room room = General.HallInstance;
|
Room room = General.HallInstance;
|
||||||
if (RequestData.Count >= 3)
|
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 gamemode = DataRequest.GetHashtableJsonObject<string>(RequestData, "gamemode") ?? "";
|
||||||
string gamemap = DataRequest.GetHashtableJsonObject<string>(RequestData, "gamemap") ?? "";
|
string gamemap = DataRequest.GetHashtableJsonObject<string>(RequestData, "gamemap") ?? "";
|
||||||
bool isrank = DataRequest.GetHashtableJsonObject<bool>(RequestData, "isrank");
|
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 == "")
|
if (gamemode == "" || gamemap == "")
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine("缺少对应的模组或地图,无法创建房间。");
|
ServerHelper.WriteLine("缺少对应的模组或地图,无法创建房间。");
|
||||||
@ -181,11 +181,10 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
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") ?? "";
|
||||||
|
|
||||||
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();
|
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)
|
if (SQLHelper.Result == SQLResult.Success)
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine("[CreateRoom] Master: " + user.Username + " RoomID: " + roomid);
|
ServerHelper.WriteLine("[CreateRoom] Master: " + user.Username + " RoomID: " + roomid);
|
||||||
@ -278,9 +277,9 @@ namespace Milimoe.FunGame.Server.Controller
|
|||||||
if (!iscancel)
|
if (!iscancel)
|
||||||
{
|
{
|
||||||
ServerHelper.WriteLine(Server.GetClientName() + " -> " + DataRequestSet.GetTypeString(_LastRequest) + " : Start", InvokeMessageType.DataRequest);
|
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();
|
User user = DataRequest.GetHashtableJsonObject<User>(RequestData, "matcher") ?? Factory.GetUser();
|
||||||
Server.StartMatching(roomtype_string, user);
|
Server.StartMatching(type, user);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -434,16 +434,15 @@ namespace Milimoe.FunGame.Server.Model
|
|||||||
return Send(socket, SocketMessageType.HeartBeat, "");
|
return Send(socket, SocketMessageType.HeartBeat, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartMatching(string roomtype_string, User user)
|
public void StartMatching(RoomType type, User user)
|
||||||
{
|
{
|
||||||
IsMatching = true;
|
IsMatching = true;
|
||||||
ServerHelper.WriteLine(GetClientName() + " 开始匹配。类型:" + roomtype_string);
|
ServerHelper.WriteLine(GetClientName() + " 开始匹配。类型:" + RoomSet.GetTypeString(type));
|
||||||
TaskUtility.NewTask(async () =>
|
TaskUtility.NewTask(async () =>
|
||||||
{
|
{
|
||||||
if (IsMatching)
|
if (IsMatching)
|
||||||
{
|
{
|
||||||
RoomType roomtype = RoomSet.GetRoomType(roomtype_string);
|
Room room = await MatchingRoom(type, user);
|
||||||
Room room = await MatchingRoom(roomtype, user);
|
|
||||||
if (IsMatching && Socket != null)
|
if (IsMatching && Socket != null)
|
||||||
{
|
{
|
||||||
Send(Socket, SocketMessageType.MatchRoom, room);
|
Send(Socket, SocketMessageType.MatchRoom, room);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user