From 2a574bf8d60a8bacae3b556d1b4fa9717f28b21e Mon Sep 17 00:00:00 2001 From: milimoe <110188673+milimoe@users.noreply.github.com> Date: Wed, 5 Apr 2023 22:52:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E5=B8=B8?= =?UTF-8?q?=E9=87=8F=E5=92=8C=E6=B7=BB=E5=8A=A0Room=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=9A=84SQLScript=20(#7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Library/Common/Network/ServerSocket.cs | 2 +- Library/Constant/ConstantSet.cs | 10 ++++++++- Library/Constant/StateEnum.cs | 6 ------ Library/SQLScript/Entity/RoomQuery.cs | 28 ++++++++++++++++++++++++++ Library/SQLScript/Entity/UserQuery.cs | 4 ++-- Service/SocketManager.cs | 2 +- 6 files changed, 41 insertions(+), 11 deletions(-) diff --git a/Library/Common/Network/ServerSocket.cs b/Library/Common/Network/ServerSocket.cs index aec70ff..0e09cdb 100644 --- a/Library/Common/Network/ServerSocket.cs +++ b/Library/Common/Network/ServerSocket.cs @@ -34,7 +34,7 @@ namespace Milimoe.FunGame.Core.Library.Common.Network public static ServerSocket StartListening(int Port = 22222, int MaxConnection = 0) { - if (MaxConnection <= 0) MaxConnection = SocketSet.MaxConnection_General; + if (MaxConnection <= 0) MaxConnection = SocketSet.MaxConnection_2C2G; System.Net.Sockets.Socket? socket = SocketManager.StartListening(Port, MaxConnection); if (socket != null) return new ServerSocket(socket, Port); else throw new SocketCreateListenException(); diff --git a/Library/Constant/ConstantSet.cs b/Library/Constant/ConstantSet.cs index 8842658..3fc41ed 100644 --- a/Library/Constant/ConstantSet.cs +++ b/Library/Constant/ConstantSet.cs @@ -20,7 +20,7 @@ { public const int MaxRetryTimes = 20; public const int MaxConnection_1C2G = 10; - public const int MaxConnection_General = 20; + public const int MaxConnection_2C2G = 20; public const int MaxConnection_4C4G = 40; public const string Socket = "Socket"; @@ -59,4 +59,12 @@ public const string RoomSetting = "RoomSetting"; public const string UserCenter = "UserCenter"; } + + public class GameMode + { + public const string GameMode_Mix = "混战模式"; + public const string GameMode_Team = "团队模式"; + public const string GameMode_MixHasPass = "带密码的混战模式"; + public const string GameMode_TeamHasPass = "带密码的团队模式"; + } } diff --git a/Library/Constant/StateEnum.cs b/Library/Constant/StateEnum.cs index 44c3044..347d116 100644 --- a/Library/Constant/StateEnum.cs +++ b/Library/Constant/StateEnum.cs @@ -8,12 +8,6 @@ Cancel } - public enum CreateRoomState - { - Creating, - Success - } - public enum RoomState { Created, diff --git a/Library/SQLScript/Entity/RoomQuery.cs b/Library/SQLScript/Entity/RoomQuery.cs index 15b81e4..94bfaae 100644 --- a/Library/SQLScript/Entity/RoomQuery.cs +++ b/Library/SQLScript/Entity/RoomQuery.cs @@ -14,5 +14,33 @@ public const string Column_Password = "Password"; public const string Select_Rooms = $"{Constant.Command_Select} {TableName}.{Constant.Command_All}, {UserQuery.TableName}.{UserQuery.Column_Username} {Constant.Command_As} {Column_RoomMasterName} " + $"{Constant.Command_From} {TableName} {Constant.Command_LeftJoin} {UserQuery.TableName} {Constant.Command_On} {UserQuery.TableName}.{UserQuery.Column_UID} = {TableName}.{Column_RoomMaster}"; + + public static string Insert_CreateRoom(string RoomID, long RoomMaster, Library.Constant.RoomType RoomType, string Password) + { + Library.Constant.RoomState RoomState = Library.Constant.RoomState.Created; + DateTime NowTime = DateTime.Now; + bool HasPass = false; + if (Password.Trim() != "") + { + HasPass = true; + } + return $"{Constant.Command_Insert} {Constant.Command_Into} {TableName} ({Column_RoomID}, {Column_CreateTime}, {Column_RoomMaster}, {Column_RoomType}, {Column_RoomState}, {Column_HasPass}, {Column_Password})" + + $" {Constant.Command_Values} ('{RoomID}', '{NowTime}', {RoomMaster}, {(int)RoomType}, {(int)RoomState}, {(HasPass ? 1 : 0)}, '{Password}')"; + } + + public static string Delete_QuitRoom(string RoomID, long RoomMaster) + { + return $"{Constant.Command_Delete} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_RoomID} = '{RoomID}' {Constant.Command_And} {Column_RoomMaster} = {RoomMaster}"; + } + + public static string Update_QuitRoom(string RoomID, long OldRoomMaster, long NewRoomMaster) + { + return $"{Constant.Command_Update} {TableName} {Constant.Command_Set} {Column_RoomMaster} = {NewRoomMaster} {Constant.Command_Where} {Column_RoomID} = '{RoomID}' {Constant.Command_And} {Column_RoomMaster} = {OldRoomMaster}"; + } + + public static string Select_IsExistRoom(string RoomID) + { + return $"{Constant.Command_Select} {Constant.Command_All} {Constant.Command_From} {TableName} {Constant.Command_Where} {Column_RoomID} = '{RoomID}'"; + } } } diff --git a/Library/SQLScript/Entity/UserQuery.cs b/Library/SQLScript/Entity/UserQuery.cs index 14ac6e2..cef91cd 100644 --- a/Library/SQLScript/Entity/UserQuery.cs +++ b/Library/SQLScript/Entity/UserQuery.cs @@ -25,12 +25,12 @@ return $"{Select_Users} {Constant.Command_Where} {Column_Username} = '{Username}' and {Column_Password} = '{Password}'"; } - public static string Select_DuplicateEmail(string Email) + public static string Select_IsExistEmail(string Email) { return $"{Select_Users} {Constant.Command_Where} {Column_Email} = '{Email}'"; } - public static string Select_DuplicateUsername(string Username) + public static string Select_IsExistUsername(string Username) { return $"{Select_Users} {Constant.Command_Where} {Column_Username} = '{Username}'"; } diff --git a/Service/SocketManager.cs b/Service/SocketManager.cs index 9afc4c3..4833e13 100644 --- a/Service/SocketManager.cs +++ b/Service/SocketManager.cs @@ -33,7 +33,7 @@ namespace Milimoe.FunGame.Core.Service /// 服务器端专用Socket internal static Socket? StartListening(int Port = 22222, int MaxConnection = 0) { - if (MaxConnection <= 0) MaxConnection = SocketSet.MaxConnection_General; + if (MaxConnection <= 0) MaxConnection = SocketSet.MaxConnection_2C2G; try { _ServerSocket = new(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);