From da6f3c2a1d653264f602010e0e868ea2f0e0619c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Tue, 21 Dec 2021 17:21:28 +0100 Subject: [PATCH] fix: allow packet interceptor to reference nostale client --- Local/NosSmooth.LocalClient/NostaleLocalClient.cs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Local/NosSmooth.LocalClient/NostaleLocalClient.cs b/Local/NosSmooth.LocalClient/NostaleLocalClient.cs index e202c14..0670732 100644 --- a/Local/NosSmooth.LocalClient/NostaleLocalClient.cs +++ b/Local/NosSmooth.LocalClient/NostaleLocalClient.cs @@ -24,13 +24,13 @@ namespace NosSmooth.LocalClient; /// public class NostaleLocalClient : BaseNostaleClient { - private readonly IPacketSerializer _packetSerializer; private readonly PacketSerializerProvider _packetSerializerProvider; private readonly IPacketHandler _packetHandler; private readonly ILogger _logger; + private readonly IServiceProvider _provider; private readonly NosClient _client; private readonly LocalClientOptions _options; - private readonly IPacketInterceptor? _interceptor; + private IPacketInterceptor? _interceptor; /// /// Initializes a new instance of the class. @@ -57,16 +57,11 @@ public class NostaleLocalClient : BaseNostaleClient : base(commandProcessor, packetSerializer) { _options = options.Value; - _packetSerializer = packetSerializer; _packetSerializerProvider = packetSerializerProvider; _packetHandler = packetHandler; _logger = logger; + _provider = provider; _client = client; - - if (_options.AllowIntercept) - { - _interceptor = provider.GetRequiredService(); - } } /// @@ -113,7 +108,7 @@ public class NostaleLocalClient : BaseNostaleClient { if (_interceptor is null) { - throw new InvalidOperationException("The interceptor cannot be null if interception is allowed."); + _interceptor = _provider.GetRequiredService(); } return _interceptor.InterceptReceive(ref packet); @@ -130,7 +125,7 @@ public class NostaleLocalClient : BaseNostaleClient { if (_interceptor is null) { - throw new InvalidOperationException("The interceptor cannot be null if interception is allowed."); + _interceptor = _provider.GetRequiredService(); } return _interceptor.InterceptSend(ref packet); -- 2.48.1