/// <inheritdoc/> public void HandlePacket(Player player, Span <byte> packet) { PlayerShopItemBuyRequest message = packet; if (Logger.IsDebugEnabled) { Logger.DebugFormat("BuyRequest, Player=[{0}], Packet=[{1}]", player.SelectedCharacter.Name, packet.AsString()); } var requestedPlayer = player.CurrentMap.GetObject(message.PlayerId) as Player; if (requestedPlayer == null) { Logger.DebugFormat("Player not found: {0}", message.PlayerId); player.ViewPlugIns.GetPlugIn <IShowMessagePlugIn>()?.ShowMessage("Open Store: Player not found.", MessageType.BlueNormal); return; } if (message.PlayerName != requestedPlayer.SelectedCharacter.Name) { Logger.DebugFormat("Player Names dont match: {0} != {1}", message.PlayerName, requestedPlayer.SelectedCharacter.Name); player.ViewPlugIns.GetPlugIn <IShowMessagePlugIn>()?.ShowMessage($"Player Names don't match. {message.PlayerName} <> {requestedPlayer.SelectedCharacter.Name}", MessageType.BlueNormal); return; } this.buyAction.BuyItem(player, requestedPlayer, message.ItemSlot); }
/// <inheritdoc/> public void HandlePacket(Player player, Span <byte> packet) { using var loggerScope = player.Logger.BeginScope(this.GetType()); PlayerShopItemBuyRequest message = packet; if (player.CurrentMap.GetObject(message.PlayerId) is not Player requestedPlayer) { player.Logger.LogDebug("Player not found: {0}", message.PlayerId); player.ViewPlugIns.GetPlugIn <IShowMessagePlugIn>()?.ShowMessage("Open Store: Player not found.", MessageType.BlueNormal); return; } if (message.PlayerName != requestedPlayer.SelectedCharacter.Name) { player.Logger.LogDebug("Player Names dont match: {0} != {1}", message.PlayerName, requestedPlayer.SelectedCharacter.Name); player.ViewPlugIns.GetPlugIn <IShowMessagePlugIn>()?.ShowMessage($"Player Names don't match. {message.PlayerName} <> {requestedPlayer.SelectedCharacter.Name}", MessageType.BlueNormal); return; } this.buyAction.BuyItem(player, requestedPlayer, message.ItemSlot); }