feat(ui): finish retail toolbar controls
Discover all seven panel launchers from their DAT panel-id attributes, route mounted panels through event-driven retained window state, and ghost unavailable panels. Port Use and Examine selection/target behavior with exact Appraise dispatch and retail cursor modes. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
21fefce0e0
commit
d3d1c895a0
19 changed files with 478 additions and 72 deletions
|
|
@ -31,6 +31,7 @@ public sealed class RetailWindowManager : IDisposable
|
|||
|
||||
public bool IsLocked => _root.UiLocked;
|
||||
public IReadOnlyCollection<RetailWindowHandle> Windows => _byName.Values;
|
||||
public event Action<string, bool>? WindowVisibilityChanged;
|
||||
|
||||
public RetailWindowHandle Register(
|
||||
string name,
|
||||
|
|
@ -233,6 +234,7 @@ public sealed class RetailWindowManager : IDisposable
|
|||
}
|
||||
|
||||
handle.NotifyVisibility(visible);
|
||||
WindowVisibilityChanged?.Invoke(handle.Name, visible);
|
||||
}
|
||||
|
||||
private void OnKeyboardFocusChanged(UiElement? oldFocus, UiElement? newFocus)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue