Add MenuControllerHelper for gamepad menu navigation
Diagnostic from previous session confirmed Gamepad.current detects an Xbox
Diagnostic from previous session confirmed Gamepad.current detects an Xbox Controller correctly, but pressing buttons in the Main Menu did nothing. Root cause: ControllerNavigator only handles combat-specific bindings (card cycle, target select, end turn), and Unity’s StandaloneInputModule does nothing without an initial EventSystem.SetSelectedGameObject anchor.
MenuControllerHelper:
- Auto-bootstraps globally via [RuntimeInitializeOnLoadMethod] + DontDestroyOnLoad
- Anchors selection to the first interactable Button on each scene load (waits 2 frames so dynamically-built menus have time to construct buttons)
- D-pad + left-stick flick drive Selectable.FindSelectableOnUp/Down/Left/Right (uses Unity’s built-in Auto navigation; left stick latches per flick to prevent cascading moves while held)
- A button → click currently-selected Button
- B button → click any visible BACK / CANCEL / CLOSE / EXIT / RESUME button (label-based heuristic; topmost-canvas-priority so popup close beats underlying screen back)
- Re-anchors every frame if currentSelectedGameObject became null/inactive (handles screen swaps + popup open/close transitions)
- Sleeps when CombatManager.Instance is non-null so it never fights with ControllerNavigator over A/B/D-pad in combat
Verified all popup close-buttons use ‘CLOSE’ or ‘RESUME’ labels (SettingsMenu, UnlockPickerUI x2, CharacterScreen, EscapeMenu).
Commit 9e53c79 by astafford8488.