From ce0260d5b61a99ecbbd13177283632c4a7a2e28c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Sun, 5 Feb 2023 19:22:22 +0100 Subject: [PATCH] feat: update to managed and raw client --- .../NosSmooth.LocalClient.csproj | 7 ++-- .../NostaleLocalClient.cs | 40 +++---------------- .../NosSmooth.ChatCommands/FeedbackService.cs | 4 +- .../NosSmooth.ChatCommands.csproj | 5 ++- .../NosSmooth.Extensions.SharedBinding.csproj | 7 ++-- .../ExternalBrowser/ExternalBrowser.csproj | 2 +- .../SimplePiiBot/SimplePiiBot.csproj | 2 +- .../InterceptNameChanger.csproj | 4 +- .../NameChangeInterceptor.cs | 4 +- .../InterceptNameChanger/NameChanger.cs | 3 +- .../LowLevel/SimpleChat/SayResponder.cs | 4 +- src/Samples/LowLevel/SimpleChat/SimpleChat.cs | 3 +- .../LowLevel/SimpleChat/SimpleChat.csproj | 2 +- .../WalkCommands/Commands/WalkCommands.cs | 4 +- src/Samples/LowLevel/WalkCommands/Startup.cs | 1 + .../LowLevel/WalkCommands/WalkCommands.csproj | 4 +- 16 files changed, 36 insertions(+), 60 deletions(-) diff --git a/src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj b/src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj index 29387641d5cbcb30baeb49095587b0a36e4724e3..a8ae6265b9794da7134bbb0c300793e51d40e4ba 100644 --- a/src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj +++ b/src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj @@ -4,8 +4,9 @@ enable enable 10 - net7.0 - 1.0.0 + net7.0 + 1.1.0 + Update to NosSmooth.Core with splitted raw and managed clients. @@ -13,7 +14,7 @@ - + diff --git a/src/Core/NosSmooth.LocalClient/NostaleLocalClient.cs b/src/Core/NosSmooth.LocalClient/NostaleLocalClient.cs index a4817232dba800c6109f3bfa1ed0da9ca3692421..5c385c39e339f3bfc60a3fef2c76853c28b1db1f 100644 --- a/src/Core/NosSmooth.LocalClient/NostaleLocalClient.cs +++ b/src/Core/NosSmooth.LocalClient/NostaleLocalClient.cs @@ -22,6 +22,7 @@ using NosSmooth.PacketSerializer; using NosSmooth.PacketSerializer.Abstractions.Attributes; using NosSmooth.PacketSerializer.Errors; using Remora.Results; +using PacketEventArgs = NosSmooth.LocalBinding.EventArgs.PacketEventArgs; namespace NosSmooth.LocalClient; @@ -37,8 +38,7 @@ public class NostaleLocalClient : BaseNostaleClient private readonly NosThreadSynchronizer _synchronizer; private readonly IHookManager _hookManager; private readonly ControlCommands _controlCommands; - private readonly IPacketSerializer _packetSerializer; - private readonly PacketHandler _packetHandler; + private readonly IPacketHandler _packetHandler; private readonly UserActionDetector _userActionDetector; private readonly ILogger _logger; private readonly IServiceProvider _provider; @@ -53,7 +53,6 @@ public class NostaleLocalClient : BaseNostaleClient /// The hook manager. /// The control commands. /// The command processor. - /// The packet serializer. /// The packet handler. /// The user action detector. /// The logger. @@ -65,20 +64,18 @@ public class NostaleLocalClient : BaseNostaleClient IHookManager hookManager, ControlCommands controlCommands, CommandProcessor commandProcessor, - IPacketSerializer packetSerializer, - PacketHandler packetHandler, + IPacketHandler packetHandler, UserActionDetector userActionDetector, ILogger logger, IOptions options, IServiceProvider provider ) - : base(commandProcessor, packetSerializer) + : base(commandProcessor) { _options = options.Value; _synchronizer = synchronizer; _hookManager = hookManager; _controlCommands = controlCommands; - _packetSerializer = packetSerializer; _packetHandler = packetHandler; _userActionDetector = userActionDetector; _logger = logger; @@ -202,34 +199,7 @@ public class NostaleLocalClient : BaseNostaleClient { try { - var packetResult = _packetSerializer.Deserialize(packetString, type); - IPacket packet; - if (!packetResult.IsSuccess) - { - if (packetResult.Error is not PacketConverterNotFoundError) - { - _logger.LogWarning("Could not parse {Packet}. Reason:", packetString); - _logger.LogResultError(packetResult); - packet = new ParsingFailedPacket(packetResult, packetString); - } - else - { - packet = new UnresolvedPacket(packetString.Split(' ')[0], packetString); - } - } - else - { - packet = packetResult.Entity; - } - - Result result = await _packetHandler.HandlePacketAsync - ( - this, - type, - packet, - packetString, - _stopRequested ?? default - ); + var result = await _packetHandler.HandlePacketAsync(this, type, packetString); if (!result.IsSuccess) { diff --git a/src/Extensions/NosSmooth.ChatCommands/FeedbackService.cs b/src/Extensions/NosSmooth.ChatCommands/FeedbackService.cs index 66a98f561f21db59345abcd7c3c9d1798de303cd..a96458e9eb16e88dcbd6ced0a4873ed09f911b34 100644 --- a/src/Extensions/NosSmooth.ChatCommands/FeedbackService.cs +++ b/src/Extensions/NosSmooth.ChatCommands/FeedbackService.cs @@ -18,13 +18,13 @@ namespace NosSmooth.ChatCommands; /// public class FeedbackService { - private readonly INostaleClient _client; + private readonly ManagedNostaleClient _client; /// /// Initializes a new instance of the class. /// /// The nostale client. - public FeedbackService(INostaleClient client) + public FeedbackService(ManagedNostaleClient client) { _client = client; diff --git a/src/Extensions/NosSmooth.ChatCommands/NosSmooth.ChatCommands.csproj b/src/Extensions/NosSmooth.ChatCommands/NosSmooth.ChatCommands.csproj index 574e3a92b8756aee98d429fbfb60059f852599cc..8b7c97d193f2d5ba25d06c86a5746aad96a4cf96 100644 --- a/src/Extensions/NosSmooth.ChatCommands/NosSmooth.ChatCommands.csproj +++ b/src/Extensions/NosSmooth.ChatCommands/NosSmooth.ChatCommands.csproj @@ -4,12 +4,13 @@ net7.0 enable enable - 1.0.0 + 1.1.0 + Update to NosSmooth.Core with splitted raw and managed clients. - + diff --git a/src/Extensions/NosSmooth.Extensions.SharedBinding/NosSmooth.Extensions.SharedBinding.csproj b/src/Extensions/NosSmooth.Extensions.SharedBinding/NosSmooth.Extensions.SharedBinding.csproj index b676bd2dee36e95ff9f57ecb0ce60a8857c5cc00..8f9595a9d1b84082fb747e7fac8400453e98bcc6 100644 --- a/src/Extensions/NosSmooth.Extensions.SharedBinding/NosSmooth.Extensions.SharedBinding.csproj +++ b/src/Extensions/NosSmooth.Extensions.SharedBinding/NosSmooth.Extensions.SharedBinding.csproj @@ -4,13 +4,14 @@ net7.0 enable enable - 0.0.1 + 0.1.0 + Update to NosSmooth.Core with splitted raw and managed clients. - + - + diff --git a/src/Samples/External/ExternalBrowser/ExternalBrowser.csproj b/src/Samples/External/ExternalBrowser/ExternalBrowser.csproj index f0032fc88bd0fd6fad025f7de568b200f408d5f8..1bf482dd2530df99026db62bfae7d702ecc4545a 100644 --- a/src/Samples/External/ExternalBrowser/ExternalBrowser.csproj +++ b/src/Samples/External/ExternalBrowser/ExternalBrowser.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/Samples/HighLevel/SimplePiiBot/SimplePiiBot.csproj b/src/Samples/HighLevel/SimplePiiBot/SimplePiiBot.csproj index 394cef9532e6c40acc1579850fefedbde0f83eda..363f381effc0b9f62479f3c47e087f5010e3565a 100644 --- a/src/Samples/HighLevel/SimplePiiBot/SimplePiiBot.csproj +++ b/src/Samples/HighLevel/SimplePiiBot/SimplePiiBot.csproj @@ -12,7 +12,7 @@ - + diff --git a/src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj b/src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj index 37f1d415ca1f9521736370ef415a70d4caacfbce..b477eb4de68b7ea191304a5b70b0385f3fc404a9 100644 --- a/src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj +++ b/src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/src/Samples/LowLevel/InterceptNameChanger/NameChangeInterceptor.cs b/src/Samples/LowLevel/InterceptNameChanger/NameChangeInterceptor.cs index 54f626219cad161b03945bbf07ebac62daf2198f..c0c50323009d82158a76359dbc5ffb3a22a658e1 100644 --- a/src/Samples/LowLevel/InterceptNameChanger/NameChangeInterceptor.cs +++ b/src/Samples/LowLevel/InterceptNameChanger/NameChangeInterceptor.cs @@ -20,7 +20,7 @@ namespace InterceptNameChanger /// public class NameChangeInterceptor : IPacketInterceptor { - private readonly INostaleClient _client; + private readonly ManagedNostaleClient _client; private readonly ILogger _logger; private string _name = "Intercept"; @@ -29,7 +29,7 @@ namespace InterceptNameChanger /// /// The nostale client. /// The logger. - public NameChangeInterceptor(INostaleClient client, ILogger logger) + public NameChangeInterceptor(ManagedNostaleClient client, ILogger logger) { _client = client; _logger = logger; diff --git a/src/Samples/LowLevel/InterceptNameChanger/NameChanger.cs b/src/Samples/LowLevel/InterceptNameChanger/NameChanger.cs index 553e1a0040135ea0ccc2074ea97168ef22c8f97f..b5d197604d68bf1af446c9cc7be4237baf740f0a 100644 --- a/src/Samples/LowLevel/InterceptNameChanger/NameChanger.cs +++ b/src/Samples/LowLevel/InterceptNameChanger/NameChanger.cs @@ -35,6 +35,7 @@ namespace InterceptNameChanger { var provider = new ServiceCollection() .AddLocalClient() + .AddManagedNostaleCore() .ShareNosSmooth() // .AddPacketResponder() @@ -70,7 +71,7 @@ namespace InterceptNameChanger logger.LogResultError(packetAddResult); } - var client = provider.GetRequiredService(); + var client = provider.GetRequiredService(); var sayResult = await client.ReceivePacketAsync ( diff --git a/src/Samples/LowLevel/SimpleChat/SayResponder.cs b/src/Samples/LowLevel/SimpleChat/SayResponder.cs index f2501c8c5b67080a7cdc9e79e48aae0359e32224..122a7d82b9c4fc8f811389953753b72e3447eba9 100644 --- a/src/Samples/LowLevel/SimpleChat/SayResponder.cs +++ b/src/Samples/LowLevel/SimpleChat/SayResponder.cs @@ -19,13 +19,13 @@ namespace SimpleChat; /// public class SayResponder : IPacketResponder, IPacketResponder { - private readonly INostaleClient _client; + private readonly ManagedNostaleClient _client; /// /// Initializes a new instance of the class. /// /// The nostale client. - public SayResponder(INostaleClient client) + public SayResponder(ManagedNostaleClient client) { _client = client; } diff --git a/src/Samples/LowLevel/SimpleChat/SimpleChat.cs b/src/Samples/LowLevel/SimpleChat/SimpleChat.cs index df4cc4b845bcae53d45bc12a5267bec6a10e71ce..f6c1b671cc90ab97da5b953c65397e0bbb65c037 100644 --- a/src/Samples/LowLevel/SimpleChat/SimpleChat.cs +++ b/src/Samples/LowLevel/SimpleChat/SimpleChat.cs @@ -33,6 +33,7 @@ public class SimpleChat { var provider = new ServiceCollection() .AddLocalClient() + .AddManagedNostaleCore() .ShareNosSmooth() .AddPacketResponder() .AddLogging @@ -65,7 +66,7 @@ public class SimpleChat logger.LogResultError(packetAddResult); } - var client = provider.GetRequiredService(); + var client = provider.GetRequiredService(); await client.ReceivePacketAsync ( diff --git a/src/Samples/LowLevel/SimpleChat/SimpleChat.csproj b/src/Samples/LowLevel/SimpleChat/SimpleChat.csproj index a1dcd7a15f877b391e4e08de69487f4de0efb5d7..d683cbd7658f0eff0341f7829030969c38112c18 100644 --- a/src/Samples/LowLevel/SimpleChat/SimpleChat.csproj +++ b/src/Samples/LowLevel/SimpleChat/SimpleChat.csproj @@ -18,7 +18,7 @@ - + diff --git a/src/Samples/LowLevel/WalkCommands/Commands/WalkCommands.cs b/src/Samples/LowLevel/WalkCommands/Commands/WalkCommands.cs index 7fdcf31633324553a944096668f6a2868a570f3e..df17d3a0de55a6d4bb1d18092c896860d95aa0d4 100644 --- a/src/Samples/LowLevel/WalkCommands/Commands/WalkCommands.cs +++ b/src/Samples/LowLevel/WalkCommands/Commands/WalkCommands.cs @@ -25,7 +25,7 @@ namespace WalkCommands.Commands; /// public class WalkCommands : CommandGroup { - private readonly INostaleClient _client; + private readonly ManagedNostaleClient _client; private readonly WalkManager _walkManager; private readonly FeedbackService _feedbackService; @@ -35,7 +35,7 @@ public class WalkCommands : CommandGroup /// The nostale client. /// The walk manager. /// The feedback service. - public WalkCommands(INostaleClient client, WalkManager walkManager, FeedbackService feedbackService) + public WalkCommands(ManagedNostaleClient client, WalkManager walkManager, FeedbackService feedbackService) { _client = client; _walkManager = walkManager; diff --git a/src/Samples/LowLevel/WalkCommands/Startup.cs b/src/Samples/LowLevel/WalkCommands/Startup.cs index bf5b4a332e2ece250eb5a206d9f597690184a289..a48c433495be878f42cc508ae14188b77de65531 100644 --- a/src/Samples/LowLevel/WalkCommands/Startup.cs +++ b/src/Samples/LowLevel/WalkCommands/Startup.cs @@ -34,6 +34,7 @@ public class Startup { var collection = new ServiceCollection() .AddLocalClient() + .AddManagedNostaleCore() .ShareNosSmooth() // hook pet and player walk to diff --git a/src/Samples/LowLevel/WalkCommands/WalkCommands.csproj b/src/Samples/LowLevel/WalkCommands/WalkCommands.csproj index cef08384a0f9cf9242515431ca324ce242027ee6..769e1e31449634b20bd4349c8b62958134ff6cba 100644 --- a/src/Samples/LowLevel/WalkCommands/WalkCommands.csproj +++ b/src/Samples/LowLevel/WalkCommands/WalkCommands.csproj @@ -31,7 +31,7 @@ 7.0.0 - 3.3.1 + 4.0.0 2.2.1 @@ -40,7 +40,7 @@ 1.2.0 - 3.5.0 + 3.5.1 7.2.3