fix(interaction): publish pending keyboard pickups

Route F-key pickup through the same ItemHolder backpack placement entry point as double-click activation so the inventory reserves the destination slot before the request is sent.
This commit is contained in:
Erik 2026-07-21 07:08:30 +02:00
parent 047a4c83b5
commit 52dbb5749e
4 changed files with 43 additions and 17 deletions

View file

@ -13588,7 +13588,8 @@ public sealed class GameWindow : IDisposable
case AcDream.UI.Abstractions.Input.InputAction.SelectionPickUp:
if (_selection.SelectedObjectId is uint pickupTarget)
_outboundInteractions.Enqueue(() => SendPickUp(pickupTarget));
_outboundInteractions.Enqueue(() =>
_itemInteractionController?.PlaceWorldItemInBackpack(pickupTarget));
else
_debugVm?.AddToast("Nothing selected");
break;
@ -13973,9 +13974,6 @@ public sealed class GameWindow : IDisposable
Console.WriteLine($"[D.5.1] toolbar use-item guid=0x{guid:X8} seq={seq}");
}
private void SendPickUp(uint itemGuid)
=> SendPickUp(itemGuid, _playerServerGuid, placement: 0);
private void SendPickUp(uint itemGuid, uint destinationContainerId, int placement)
{
if (_liveSession is null