From bb6a1e8fa23623e1d0105bb400924ef19e2b54db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Sat, 1 Jan 2022 00:20:38 +0100 Subject: [PATCH] feat: use NosSmooth packets in WalkPacketResponder --- .../Walk/WalkPacketResponder.cs | 122 +++++++++--------- 1 file changed, 62 insertions(+), 60 deletions(-) diff --git a/Local/NosSmooth.LocalClient/CommandHandlers/Walk/WalkPacketResponder.cs b/Local/NosSmooth.LocalClient/CommandHandlers/Walk/WalkPacketResponder.cs index d5c84d4..553b888 100644 --- a/Local/NosSmooth.LocalClient/CommandHandlers/Walk/WalkPacketResponder.cs +++ b/Local/NosSmooth.LocalClient/CommandHandlers/Walk/WalkPacketResponder.cs @@ -1,60 +1,62 @@ -// -// WalkPacketResponder.cs -// -// Copyright (c) František Boháček. All rights reserved. -// Licensed under the MIT license. See LICENSE file in the project root for full license information. - -using System.Security; -using NosCore.Packets.ClientPackets.Battle; -using NosCore.Packets.ClientPackets.Movement; -using NosCore.Packets.ServerPackets.MiniMap; -using NosSmooth.Core.Commands; -using NosSmooth.Core.Packets; -using Remora.Results; - -namespace NosSmooth.LocalClient.CommandHandlers.Walk; - -/// -/// Responds to to manage . -/// -public class WalkPacketResponder : IPacketResponder, IPacketResponder -{ - private readonly WalkStatus _walkStatus; - - /// - /// Initializes a new instance of the class. - /// - /// The walk status. - public WalkPacketResponder(WalkStatus walkStatus) - { - _walkStatus = walkStatus; - } - - /// - public async Task Respond(PacketEventArgs packet, CancellationToken ct = default) - { - if (_walkStatus.IsWalking) - { - _walkStatus.UpdateWalkTime(packet.Packet.XCoordinate, packet.Packet.YCoordinate); - if (packet.Packet.XCoordinate == _walkStatus.TargetX && packet.Packet.YCoordinate == _walkStatus.TargetY) - { - await _walkStatus.FinishWalkingAsync(ct); - } - } - - return Result.FromSuccess(); - } - - /// - public async Task Respond(PacketEventArgs packet, CancellationToken ct = default) - { - if (_walkStatus.IsWalking) - { - await _walkStatus.CancelWalkingAsync(WalkCancelReason.MapChanged, ct); - } - - return Result.FromSuccess(); - } - - // TODO: handle teleport on map -} \ No newline at end of file +// +// WalkPacketResponder.cs +// +// Copyright (c) František Boháček. All rights reserved. +// Licensed under the MIT license. See LICENSE file in the project root for full license information. + +using System.Security; +using NosCore.Packets.ClientPackets.Battle; +using NosCore.Packets.ClientPackets.Movement; +using NosCore.Packets.ServerPackets.MiniMap; +using NosSmooth.Core.Commands; +using NosSmooth.Core.Packets; +using NosSmooth.Packets.Packets.Client.Movement; +using NosSmooth.Packets.Packets.Server.Maps; +using Remora.Results; + +namespace NosSmooth.LocalClient.CommandHandlers.Walk; + +/// +/// Responds to to manage . +/// +public class WalkPacketResponder : IPacketResponder, IPacketResponder +{ + private readonly WalkStatus _walkStatus; + + /// + /// Initializes a new instance of the class. + /// + /// The walk status. + public WalkPacketResponder(WalkStatus walkStatus) + { + _walkStatus = walkStatus; + } + + /// + public async Task Respond(PacketEventArgs packet, CancellationToken ct = default) + { + if (_walkStatus.IsWalking) + { + _walkStatus.UpdateWalkTime(packet.Packet.PositionX, packet.Packet.PositionY); + if (packet.Packet.PositionX == _walkStatus.TargetX && packet.Packet.PositionY == _walkStatus.TargetY) + { + await _walkStatus.FinishWalkingAsync(ct); + } + } + + return Result.FromSuccess(); + } + + /// + public async Task Respond(PacketEventArgs packet, CancellationToken ct = default) + { + if (_walkStatus.IsWalking) + { + await _walkStatus.CancelWalkingAsync(WalkCancelReason.MapChanged, ct); + } + + return Result.FromSuccess(); + } + + // TODO: handle teleport on map +} -- 2.48.1