feat(ui): complete retail quick-slot input
Port global toolbar use/select/create actions, migrate the collapsed Ctrl-number bindings, and route them through a focused retained-UI controller. Preserve shortcut aliases as aliases across inventory and paperdoll drops with retail's neutral/accept/reject drag states, preventing physical item moves such as unwielding an equipped helmet. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
6fcc510d5d
commit
e65119f0c6
24 changed files with 650 additions and 69 deletions
|
|
@ -199,9 +199,15 @@ public sealed class UiItemSlot : UiElement
|
|||
return true;
|
||||
|
||||
case UiEventType.DragEnter: // pointer entered me mid-drag → ask the list's handler
|
||||
_dragAccept = (FindList() is { DragHandler: { } h } list
|
||||
&& e.Payload is ItemDragPayload p && h.OnDragOver(list, this, p))
|
||||
? DragAcceptState.Accept : DragAcceptState.Reject;
|
||||
_dragAccept = FindList() is { DragHandler: { } h } list
|
||||
&& e.Payload is ItemDragPayload p
|
||||
? h.OnDragOver(list, this, p) switch
|
||||
{
|
||||
ItemDragAcceptance.Accept => DragAcceptState.Accept,
|
||||
ItemDragAcceptance.Reject => DragAcceptState.Reject,
|
||||
_ => DragAcceptState.None,
|
||||
}
|
||||
: DragAcceptState.Reject;
|
||||
return true;
|
||||
|
||||
case UiEventType.DragOver: // UiRoot fires this on LEAVE → neutral
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue