From c4811ef052746bcafa456e5f0f54ba6df5602d6f Mon Sep 17 00:00:00 2001 From: edmand46 Date: Sat, 13 Apr 2024 17:43:23 +0300 Subject: [PATCH] feat(wip): list rooms --- Ragon.Client/Sources/RagonRoomInformation.cs | 21 +++++++++---------- Ragon.Client/Sources/RagonSession.cs | 10 ++++----- Ragon.Protocol/Sources/RagonRoomParameters.cs | 2 +- .../Sources/Handler/RoomCreateOperation.cs | 10 ++++----- .../Handler/RoomJoinOrCreateOperation.cs | 12 +++++------ Ragon.Server/Sources/Logging/IRagonLogger.cs | 9 ++++---- .../Sources/Logging/IRagonLoggerFactory.cs | 6 ++++++ Ragon.Server/Sources/Logging/LoggerManager.cs | 17 +++++++++++++++ 8 files changed, 55 insertions(+), 32 deletions(-) create mode 100644 Ragon.Server/Sources/Logging/IRagonLoggerFactory.cs create mode 100644 Ragon.Server/Sources/Logging/LoggerManager.cs diff --git a/Ragon.Client/Sources/RagonRoomInformation.cs b/Ragon.Client/Sources/RagonRoomInformation.cs index aeda469..2b9a72d 100644 --- a/Ragon.Client/Sources/RagonRoomInformation.cs +++ b/Ragon.Client/Sources/RagonRoomInformation.cs @@ -1,13 +1,12 @@ -using Ragon.Protocol; - -namespace Ragon.Client; - -public struct RagonRoomInformation +namespace Ragon.Client { - public string Id; - public string Scene; - public int PlayerMax; - public int PlayerMin; - public int PlayerCount; - public Dictionary Properties; + public struct RagonRoomInformation + { + public string Id; + public string Scene; + public int PlayerMax; + public int PlayerMin; + public int PlayerCount; + public Dictionary Properties; + } } \ No newline at end of file diff --git a/Ragon.Client/Sources/RagonSession.cs b/Ragon.Client/Sources/RagonSession.cs index 972d767..befc560 100644 --- a/Ragon.Client/Sources/RagonSession.cs +++ b/Ragon.Client/Sources/RagonSession.cs @@ -31,11 +31,11 @@ namespace Ragon.Client public void CreateOrJoin(string sceneName, int minPlayers, int maxPlayers) { - var parameters = new RagonRoomParameters() {Scene = sceneName, Min = minPlayers, Max = maxPlayers}; + var parameters = new RagonRoomPayload() {Scene = sceneName, Min = minPlayers, Max = maxPlayers}; CreateOrJoin(parameters); } - public void CreateOrJoin(RagonRoomParameters parameters) + public void CreateOrJoin(RagonRoomPayload parameters) { _buffer.Clear(); _buffer.WriteOperation(RagonOperation.JOIN_OR_CREATE_ROOM); @@ -48,15 +48,15 @@ namespace Ragon.Client public void Create(string sceneName, int minPlayers, int maxPlayers) { - Create(null, new RagonRoomParameters() {Scene = sceneName, Min = minPlayers, Max = maxPlayers}); + Create(null, new RagonRoomPayload() {Scene = sceneName, Min = minPlayers, Max = maxPlayers}); } public void Create(string roomId, string sceneName, int minPlayers, int maxPlayers) { - Create(roomId, new RagonRoomParameters() {Scene = sceneName, Min = minPlayers, Max = maxPlayers}); + Create(roomId, new RagonRoomPayload() {Scene = sceneName, Min = minPlayers, Max = maxPlayers}); } - public void Create(string roomId, RagonRoomParameters parameters) + public void Create(string roomId, RagonRoomPayload parameters) { _buffer.Clear(); _buffer.WriteOperation(RagonOperation.CREATE_ROOM); diff --git a/Ragon.Protocol/Sources/RagonRoomParameters.cs b/Ragon.Protocol/Sources/RagonRoomParameters.cs index b205173..9aa502f 100644 --- a/Ragon.Protocol/Sources/RagonRoomParameters.cs +++ b/Ragon.Protocol/Sources/RagonRoomParameters.cs @@ -17,7 +17,7 @@ namespace Ragon.Protocol { - public class RagonRoomParameters: IRagonSerializable + public class RagonRoomPayload: IRagonSerializable { public string Scene { get; set; } public int Min { get; set; } diff --git a/Ragon.Server/Sources/Handler/RoomCreateOperation.cs b/Ragon.Server/Sources/Handler/RoomCreateOperation.cs index 90060ce..86b5a66 100644 --- a/Ragon.Server/Sources/Handler/RoomCreateOperation.cs +++ b/Ragon.Server/Sources/Handler/RoomCreateOperation.cs @@ -26,7 +26,7 @@ namespace Ragon.Server.Handler; public sealed class RoomCreateOperation : BaseOperation { - private readonly RagonRoomParameters _roomParameters = new(); + private readonly RagonRoomPayload _roomPayload = new(); private readonly Logger _logger = LogManager.GetCurrentClassLogger(); private readonly IServerPlugin _serverPlugin; private readonly RagonWebHookPlugin _ragonWebHookPlugin; @@ -65,13 +65,13 @@ public sealed class RoomCreateOperation : BaseOperation } } - _roomParameters.Deserialize(Reader); + _roomPayload.Deserialize(Reader); var information = new RoomInformation() { - Scene = _roomParameters.Scene, - Max = _roomParameters.Max, - Min = _roomParameters.Min, + Scene = _roomPayload.Scene, + Max = _roomPayload.Max, + Min = _roomPayload.Min, }; var lobbyPlayer = context.LobbyPlayer; diff --git a/Ragon.Server/Sources/Handler/RoomJoinOrCreateOperation.cs b/Ragon.Server/Sources/Handler/RoomJoinOrCreateOperation.cs index 325cfaf..46bfa55 100644 --- a/Ragon.Server/Sources/Handler/RoomJoinOrCreateOperation.cs +++ b/Ragon.Server/Sources/Handler/RoomJoinOrCreateOperation.cs @@ -26,7 +26,7 @@ namespace Ragon.Server.Handler; public sealed class RoomJoinOrCreateOperation : BaseOperation { - private readonly RagonRoomParameters _roomParameters = new(); + private readonly RagonRoomPayload _roomPayload = new(); private readonly Logger _logger = LogManager.GetCurrentClassLogger(); private readonly IServerPlugin _serverPlugin; private readonly RagonWebHookPlugin _ragonWebHookPlugin; @@ -48,9 +48,9 @@ public sealed class RoomJoinOrCreateOperation : BaseOperation var roomId = Guid.NewGuid().ToString(); var lobbyPlayer = context.LobbyPlayer; - _roomParameters.Deserialize(Reader); + _roomPayload.Deserialize(Reader); - if (context.Lobby.FindRoomByScene(_roomParameters.Scene, out var existsRoom)) + if (context.Lobby.FindRoomByScene(_roomPayload.Scene, out var existsRoom)) { var player = new RagonRoomPlayer(context.Connection, lobbyPlayer.Id, lobbyPlayer.Name); @@ -67,9 +67,9 @@ public sealed class RoomJoinOrCreateOperation : BaseOperation { var information = new RoomInformation() { - Scene = _roomParameters.Scene, - Max = _roomParameters.Max, - Min = _roomParameters.Min, + Scene = _roomPayload.Scene, + Max = _roomPayload.Max, + Min = _roomPayload.Min, }; var roomPlayer = new RagonRoomPlayer(context.Connection, lobbyPlayer.Id, lobbyPlayer.Name); diff --git a/Ragon.Server/Sources/Logging/IRagonLogger.cs b/Ragon.Server/Sources/Logging/IRagonLogger.cs index bbad315..bc63b68 100644 --- a/Ragon.Server/Sources/Logging/IRagonLogger.cs +++ b/Ragon.Server/Sources/Logging/IRagonLogger.cs @@ -2,8 +2,9 @@ namespace Ragon.Server.Logging; public interface IRagonLogger { - public void Warning(string tag, string message); - public void Info(string tag, string message); - public void Error(string tag, string message); - public void Trace(string tag, string message); + public void Warning(string message); + public void Info(string message); + public void Error(string message); + public void Error(Exception ex); + public void Trace(string message); } \ No newline at end of file diff --git a/Ragon.Server/Sources/Logging/IRagonLoggerFactory.cs b/Ragon.Server/Sources/Logging/IRagonLoggerFactory.cs new file mode 100644 index 0000000..0e1109c --- /dev/null +++ b/Ragon.Server/Sources/Logging/IRagonLoggerFactory.cs @@ -0,0 +1,6 @@ +namespace Ragon.Server.Logging; + +public interface IRagonLoggerFactory +{ + public IRagonLogger GetLogger(string tag); +} \ No newline at end of file diff --git a/Ragon.Server/Sources/Logging/LoggerManager.cs b/Ragon.Server/Sources/Logging/LoggerManager.cs new file mode 100644 index 0000000..466fea7 --- /dev/null +++ b/Ragon.Server/Sources/Logging/LoggerManager.cs @@ -0,0 +1,17 @@ +namespace Ragon.Server.Logging +{ + public class LoggerManager + { + private static IRagonLoggerFactory _factory; + + public static void SetLoggerFactory(IRagonLoggerFactory loggerFactory) + { + _factory = loggerFactory; + } + + public static IRagonLogger GetLogger(string tag) + { + return _factory.GetLogger(tag); + } + } +} \ No newline at end of file