M src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj => src/Core/NosSmooth.LocalClient/NosSmooth.LocalClient.csproj +4 -3
@@ 4,8 4,9 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>10</LangVersion>
- <TargetFrameworks>net7.0</TargetFrameworks>
- <VersionPrefix>1.0.0</VersionPrefix>
+ <TargetFramework>net7.0</TargetFramework>
+ <VersionPrefix>1.1.0</VersionPrefix>
+ <PackageReleaseNotes>Update to NosSmooth.Core with splitted raw and managed clients.</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
@@ 13,7 14,7 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="NosSmooth.Core" Version="3.3.1" />
+ <PackageReference Include="NosSmooth.Core" Version="4.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Reloaded.Hooks" Version="4.2.1" />
<PackageReference Include="Reloaded.Memory.Sigscan" Version="3.1.6" />
M src/Core/NosSmooth.LocalClient/NostaleLocalClient.cs => src/Core/NosSmooth.LocalClient/NostaleLocalClient.cs +5 -35
@@ 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
/// <param name="hookManager">The hook manager.</param>
/// <param name="controlCommands">The control commands.</param>
/// <param name="commandProcessor">The command processor.</param>
- /// <param name="packetSerializer">The packet serializer.</param>
/// <param name="packetHandler">The packet handler.</param>
/// <param name="userActionDetector">The user action detector.</param>
/// <param name="logger">The logger.</param>
@@ 65,20 64,18 @@ public class NostaleLocalClient : BaseNostaleClient
IHookManager hookManager,
ControlCommands controlCommands,
CommandProcessor commandProcessor,
- IPacketSerializer packetSerializer,
- PacketHandler packetHandler,
+ IPacketHandler packetHandler,
UserActionDetector userActionDetector,
ILogger<NostaleLocalClient> logger,
IOptions<LocalClientOptions> 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)
{
M src/Extensions/NosSmooth.ChatCommands/FeedbackService.cs => src/Extensions/NosSmooth.ChatCommands/FeedbackService.cs +2 -2
@@ 18,13 18,13 @@ namespace NosSmooth.ChatCommands;
/// </summary>
public class FeedbackService
{
- private readonly INostaleClient _client;
+ private readonly ManagedNostaleClient _client;
/// <summary>
/// Initializes a new instance of the <see cref="FeedbackService"/> class.
/// </summary>
/// <param name="client">The nostale client.</param>
- public FeedbackService(INostaleClient client)
+ public FeedbackService(ManagedNostaleClient client)
{
_client = client;
M src/Extensions/NosSmooth.ChatCommands/NosSmooth.ChatCommands.csproj => src/Extensions/NosSmooth.ChatCommands/NosSmooth.ChatCommands.csproj +3 -2
@@ 4,12 4,13 @@
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
- <VersionPrefix>1.0.0</VersionPrefix>
+ <VersionPrefix>1.1.0</VersionPrefix>
+ <PackageReleaseNotes>Update to NosSmooth.Core with splitted raw and managed clients.</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
- <PackageReference Include="NosSmooth.Packets" Version="3.5.0" />
+ <PackageReference Include="NosSmooth.Packets" Version="3.5.1" />
<PackageReference Include="Remora.Commands" Version="10.0.3" />
</ItemGroup>
M src/Extensions/NosSmooth.Extensions.SharedBinding/NosSmooth.Extensions.SharedBinding.csproj => src/Extensions/NosSmooth.Extensions.SharedBinding/NosSmooth.Extensions.SharedBinding.csproj +4 -3
@@ 4,13 4,14 @@
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
- <VersionPrefix>0.0.1</VersionPrefix>
+ <VersionPrefix>0.1.0</VersionPrefix>
+ <PackageReleaseNotes>Update to NosSmooth.Core with splitted raw and managed clients.</PackageReleaseNotes>
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="NosSmooth.Core" Version="3.3.1" />
+ <PackageReference Include="NosSmooth.Core" Version="4.0.0" />
<PackageReference Include="NosSmooth.Data.NOSFiles" Version="2.2.2" />
- <PackageReference Include="NosSmooth.PacketSerializer" Version="2.2.5" />
+ <PackageReference Include="NosSmooth.PacketSerializer" Version="2.2.6" />
</ItemGroup>
<ItemGroup>
M src/Samples/External/ExternalBrowser/ExternalBrowser.csproj => src/Samples/External/ExternalBrowser/ExternalBrowser.csproj +1 -1
@@ 12,7 12,7 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="NosSmooth.Core" Version="3.3.0" />
+ <PackageReference Include="NosSmooth.Core" Version="4.0.0" />
</ItemGroup>
</Project>
M src/Samples/HighLevel/SimplePiiBot/SimplePiiBot.csproj => src/Samples/HighLevel/SimplePiiBot/SimplePiiBot.csproj +1 -1
@@ 12,7 12,7 @@
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0" />
- <PackageReference Include="NosSmooth.Extensions.Combat" Version="1.2.0" />
+ <PackageReference Include="NosSmooth.Extensions.Combat" Version="1.3.0" />
<PackageReference Include="Remora.Commands" Version="10.0.3" />
<PackageReference Include="Remora.Results" Version="7.2.3" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection">
M src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj => src/Samples/LowLevel/InterceptNameChanger/InterceptNameChanger.csproj +2 -2
@@ 18,8 18,8 @@
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
- <PackageReference Include="NosSmooth.Core" Version="3.3.1" />
- <PackageReference Include="NosSmooth.Packets" Version="3.5.0" />
+ <PackageReference Include="NosSmooth.Core" Version="4.0.0" />
+ <PackageReference Include="NosSmooth.Packets" Version="3.5.1" />
<PackageReference Include="Remora.Results" Version="7.2.3" />
</ItemGroup>
<ItemGroup>
M src/Samples/LowLevel/InterceptNameChanger/NameChangeInterceptor.cs => src/Samples/LowLevel/InterceptNameChanger/NameChangeInterceptor.cs +2 -2
@@ 20,7 20,7 @@ namespace InterceptNameChanger
/// </summary>
public class NameChangeInterceptor : IPacketInterceptor
{
- private readonly INostaleClient _client;
+ private readonly ManagedNostaleClient _client;
private readonly ILogger<NameChangeInterceptor> _logger;
private string _name = "Intercept";
@@ 29,7 29,7 @@ namespace InterceptNameChanger
/// </summary>
/// <param name="client">The nostale client.</param>
/// <param name="logger">The logger.</param>
- public NameChangeInterceptor(INostaleClient client, ILogger<NameChangeInterceptor> logger)
+ public NameChangeInterceptor(ManagedNostaleClient client, ILogger<NameChangeInterceptor> logger)
{
_client = client;
_logger = logger;
M src/Samples/LowLevel/InterceptNameChanger/NameChanger.cs => src/Samples/LowLevel/InterceptNameChanger/NameChanger.cs +2 -1
@@ 35,6 35,7 @@ namespace InterceptNameChanger
{
var provider = new ServiceCollection()
.AddLocalClient()
+ .AddManagedNostaleCore()
.ShareNosSmooth()
// .AddPacketResponder<SayResponder>()
@@ 70,7 71,7 @@ namespace InterceptNameChanger
logger.LogResultError(packetAddResult);
}
- var client = provider.GetRequiredService<INostaleClient>();
+ var client = provider.GetRequiredService<ManagedNostaleClient>();
var sayResult = await client.ReceivePacketAsync
(
M src/Samples/LowLevel/SimpleChat/SayResponder.cs => src/Samples/LowLevel/SimpleChat/SayResponder.cs +2 -2
@@ 19,13 19,13 @@ namespace SimpleChat;
/// </summary>
public class SayResponder : IPacketResponder<SayPacket>, IPacketResponder<MsgPacket>
{
- private readonly INostaleClient _client;
+ private readonly ManagedNostaleClient _client;
/// <summary>
/// Initializes a new instance of the <see cref="SayResponder"/> class.
/// </summary>
/// <param name="client">The nostale client.</param>
- public SayResponder(INostaleClient client)
+ public SayResponder(ManagedNostaleClient client)
{
_client = client;
}
M src/Samples/LowLevel/SimpleChat/SimpleChat.cs => src/Samples/LowLevel/SimpleChat/SimpleChat.cs +2 -1
@@ 33,6 33,7 @@ public class SimpleChat
{
var provider = new ServiceCollection()
.AddLocalClient()
+ .AddManagedNostaleCore()
.ShareNosSmooth()
.AddPacketResponder<SayResponder>()
.AddLogging
@@ 65,7 66,7 @@ public class SimpleChat
logger.LogResultError(packetAddResult);
}
- var client = provider.GetRequiredService<INostaleClient>();
+ var client = provider.GetRequiredService<ManagedNostaleClient>();
await client.ReceivePacketAsync
(
M src/Samples/LowLevel/SimpleChat/SimpleChat.csproj => src/Samples/LowLevel/SimpleChat/SimpleChat.csproj +1 -1
@@ 18,7 18,7 @@
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="7.0.0" />
- <PackageReference Include="NosSmooth.Core" Version="3.3.1" />
+ <PackageReference Include="NosSmooth.Core" Version="4.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Core\NosSmooth.LocalClient\NosSmooth.LocalClient.csproj" />
M src/Samples/LowLevel/WalkCommands/Commands/WalkCommands.cs => src/Samples/LowLevel/WalkCommands/Commands/WalkCommands.cs +2 -2
@@ 25,7 25,7 @@ namespace WalkCommands.Commands;
/// </summary>
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
/// <param name="client">The nostale client.</param>
/// <param name="walkManager">The walk manager.</param>
/// <param name="feedbackService">The feedback service.</param>
- public WalkCommands(INostaleClient client, WalkManager walkManager, FeedbackService feedbackService)
+ public WalkCommands(ManagedNostaleClient client, WalkManager walkManager, FeedbackService feedbackService)
{
_client = client;
_walkManager = walkManager;
M src/Samples/LowLevel/WalkCommands/Startup.cs => src/Samples/LowLevel/WalkCommands/Startup.cs +1 -0
@@ 34,6 34,7 @@ public class Startup
{
var collection = new ServiceCollection()
.AddLocalClient()
+ .AddManagedNostaleCore()
.ShareNosSmooth()
// hook pet and player walk to
M src/Samples/LowLevel/WalkCommands/WalkCommands.csproj => src/Samples/LowLevel/WalkCommands/WalkCommands.csproj +2 -2
@@ 31,7 31,7 @@
<Version>7.0.0</Version>
</PackageReference>
<PackageReference Include="NosSmooth.Core">
- <Version>3.3.1</Version>
+ <Version>4.0.0</Version>
</PackageReference>
<PackageReference Include="NosSmooth.Data.Abstractions">
<Version>2.2.1</Version>
@@ 40,7 40,7 @@
<Version>1.2.0</Version>
</PackageReference>
<PackageReference Include="NosSmooth.Packets">
- <Version>3.5.0</Version>
+ <Version>3.5.1</Version>
</PackageReference>
<PackageReference Include="Remora.Results">
<Version>7.2.3</Version>