Files
XCEngine/docs/api/XCEngine/Input/InputModule/InputModule.md

45 lines
1.7 KiB
Markdown

# InputModule
**命名空间**: `XCEngine::Input`
**类型**: `class (abstract)`
**头文件**: `XCEngine/Input/InputModule.h`
**描述**: 定义平台输入桥接层的最小接口,把操作系统消息翻译成 `InputManager` 可消费的调用。
## 概述
`InputModule` 代表“输入后端适配器”这一层。它本身不保存全局输入状态,职责是从平台窗口系统接收原始消息,然后调用 `InputManager::Process*` 把这些消息转换成引擎内部统一格式。
这层拆分的价值在于:
- 游戏代码只依赖 `InputManager`,不直接依赖 Win32、GLFW 或其它平台 API。
- 各平台后端可以各自决定如何接收事件,但最后都汇总到同一套引擎输入状态。
## 当前实现中的位置
- [WindowsInputModule](../../Platform/Windows/WindowsInputModule/WindowsInputModule.md) 是当前代码库里的实际实现。
- `InputModule` 本身只定义抽象接口,不提供默认逻辑。
## 线程语义
- 具体线程语义取决于平台后端。
- 当前 Windows 路径假定输入消息和 `InputManager` 更新都发生在窗口线程或主线程。
## 公开方法
| 方法 | 说明 |
|------|------|
| [Destructor](Destructor.md) | 虚析构函数。 |
| [Initialize](Initialize.md) | 初始化平台输入后端。 |
| [Shutdown](Shutdown.md) | 关闭平台输入后端。 |
| [PumpEvents](PumpEvents.md) | 主动轮询平台事件。 |
| [HandleMessage](HandleMessage.md) | 处理一条平台消息。 |
## 相关文档
- [当前模块](../Input.md)
- [WindowsInputModule](../../Platform/Windows/WindowsInputModule/WindowsInputModule.md)
- [Input Flow And Frame Semantics](../../../_guides/Input/Input-Flow-and-Frame-Semantics.md)