fix(ui): port exact paperdoll body selection
Resolve and sample retail's authored nine-color paperdoll click map, preserve local click coordinates, and select the stable highest-priority worn item with the player fallback. Keep targeted-use body clicks routed to self and pin both synthetic and live-DAT conformance. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
2644d1d527
commit
0b74d19475
16 changed files with 490 additions and 32 deletions
|
|
@ -129,10 +129,18 @@ public sealed class UiDatElement : UiElement, IUiDatStateful
|
|||
/// elements (e.g. the chat Send / max-min buttons). Requires
|
||||
/// <see cref="UiElement.ClickThrough"/> = false to receive click events.</summary>
|
||||
public Action? OnClick { get; set; }
|
||||
public Action<int, int>? OnClickAt { get; set; }
|
||||
|
||||
public override bool HandlesClick => OnClick is not null || OnClickAt is not null;
|
||||
|
||||
public override bool OnEvent(in UiEvent e)
|
||||
{
|
||||
if (e.Type == UiEventType.Click && OnClick is not null) { OnClick(); return true; }
|
||||
if (e.Type == UiEventType.Click && (OnClick is not null || OnClickAt is not null))
|
||||
{
|
||||
OnClick?.Invoke();
|
||||
OnClickAt?.Invoke(e.Data1, e.Data2);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue