2026-03-26 16:45:24 +08:00
|
|
|
# InputManager::Initialize
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
初始化输入状态缓存并注册默认逻辑映射。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void Initialize(void* platformWindowHandle);
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 行为说明
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
当前实现是幂等的:如果已经初始化,直接返回。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
首次初始化时,它会:
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
- 保存 `platformWindowHandle`
|
|
|
|
|
- 分配 256 槽键盘状态数组
|
|
|
|
|
- 分配 5 槽鼠标按键状态数组
|
|
|
|
|
- 分配 32 槽按钮瞬时状态数组
|
|
|
|
|
- 注册默认轴和按钮映射
|
|
|
|
|
- 把 `m_initialized` 设为 `true`
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
当前没有做的事情:
|
|
|
|
|
|
|
|
|
|
- 不会清空事件监听器
|
|
|
|
|
- 不会校验窗口句柄
|
|
|
|
|
- 不会启动平台事件循环
|
|
|
|
|
|
|
|
|
|
## 参数
|
|
|
|
|
|
|
|
|
|
- `platformWindowHandle` - 平台窗口句柄;当前会保存下来,但 `InputManager` 本身不直接使用它。
|
2026-03-26 16:45:24 +08:00
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
## 返回值
|
|
|
|
|
|
|
|
|
|
- 无。
|
|
|
|
|
|
|
|
|
|
## 示例
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
XCEngine::Input::InputManager::Get().Initialize(windowHandle);
|
2026-03-26 16:45:24 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
2026-03-26 17:39:53 +08:00
|
|
|
- [返回类型总览](InputManager.md)
|
|
|
|
|
- [Shutdown](Shutdown.md)
|