AlicizaX/Client/Assets/Books/UIExtension/UXNavigation.md
2026-04-01 13:20:06 +08:00

38 lines
1.3 KiB
Markdown

# UIExtension UXNavigation 导航模块手册
## 模块概述
`UXNavigation` 在新输入系统下增强 UI 导航,支持输入模式识别、导航作用域、默认选中项、上次选中记忆和跳过导航对象。
## 适用场景
- 手柄导航友好的菜单与弹窗。
- 多层 UI 叠加时管理焦点归属。
- 鼠标与手柄输入模式自动切换。
## 可调用 API
### 枚举:`UXInputMode`
源码:`Packages/com.alicizax.unity.ui.extension/Runtime/UXComponent/Navigation/UXInputMode.cs`
- 表示当前输入模式。
### 类型:`UXInputModeService`
源码:`Packages/com.alicizax.unity.ui.extension/Runtime/UXComponent/Navigation/UXInputModeService.cs`
- `CurrentMode`
- `OnModeChanged`
### 类型:`UXNavigationScope`
源码:`Packages/com.alicizax.unity.ui.extension/Runtime/UXComponent/Navigation/UXNavigationScope.cs`
- 属性:`DefaultSelectable`、`RememberLastSelection`、`RequireSelectionWhenGamepad`、`BlockLowerScopes`
- 方法:`InvalidateSelectableCache()`
### 类型:`UXNavigationSkip`
源码:`Packages/com.alicizax.unity.ui.extension/Runtime/UXComponent/Navigation/UXNavigationSkip.cs`
- 标记对象跳过导航体系。
### 其他核心类型
- `UXNavigationRuntime`
- `UXNavigationLayerWatcher`
## 快速上手
```csharp
scope.DefaultSelectable = firstSelectable;
```