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
|
|
@ -1995,6 +1995,7 @@ public sealed class GameWindow : IDisposable
|
|||
Objects,
|
||||
playerGuid: () => _playerServerGuid,
|
||||
sendUse: g => _liveSession?.SendUse(g),
|
||||
sendExamine: g => _liveSession?.SendAppraise(g),
|
||||
sendUseWithTarget: (source, target) => _liveSession?.SendUseWithTarget(source, target),
|
||||
sendWield: (item, mask) => _liveSession?.SendGetAndWieldItem(item, mask),
|
||||
sendDrop: item => _liveSession?.SendDropItem(item),
|
||||
|
|
@ -11946,7 +11947,7 @@ public sealed class GameWindow : IDisposable
|
|||
break;
|
||||
|
||||
case AcDream.UI.Abstractions.Input.InputAction.EscapeKey:
|
||||
if (_itemInteractionController?.IsTargetModeActive == true)
|
||||
if (_itemInteractionController?.IsAnyTargetModeActive == true)
|
||||
_itemInteractionController.CancelTargetMode();
|
||||
else if (_cameraController?.IsFlyMode == true)
|
||||
_cameraController.ToggleFly(); // exit fly, release cursor
|
||||
|
|
@ -12092,7 +12093,7 @@ public sealed class GameWindow : IDisposable
|
|||
// Target-use mode picks WITH self (retail: kit-heal yourself by
|
||||
// clicking your own toon); plain selection keeps the self-exclusion.
|
||||
var picked = PickWorldGuidAtCursor(
|
||||
includeSelf: _itemInteractionController?.IsTargetModeActive == true);
|
||||
includeSelf: _itemInteractionController?.IsAnyTargetModeActive == true);
|
||||
|
||||
if (picked is uint guid)
|
||||
{
|
||||
|
|
@ -12133,7 +12134,7 @@ public sealed class GameWindow : IDisposable
|
|||
}
|
||||
else
|
||||
{
|
||||
if (_itemInteractionController?.IsTargetModeActive == true)
|
||||
if (_itemInteractionController?.IsAnyTargetModeActive == true)
|
||||
return;
|
||||
_debugVm?.AddToast("Nothing to select");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue