vault backup: 2026-05-03 21:38:46
This commit is contained in:
@@ -55,10 +55,41 @@ class FUEISlateApplication : public FSlateApplication
|
||||
- 回放系统:按帧记录和回放输入
|
||||
- 控制器热插拔处理
|
||||
|
||||
## 修改文件列表
|
||||
## 完整代码解析
|
||||
|
||||
| 文件 | 修改类型 |
|
||||
|------|---------|
|
||||
| `Source/Runtime/Engine/Public/UEIEventHandler.h` | **新增** |
|
||||
| `Source/Runtime/Slate/Public/Framework/Application/UEISlateApplication.h` | **新增** |
|
||||
| `Source/Runtime/Slate/Private/Framework/Application/UEISlateApplication.cpp` | **新增** |
|
||||
```cpp
|
||||
// UEIEventHandler.h — 引擎回调接口
|
||||
class FUEIEventHandler
|
||||
{
|
||||
public:
|
||||
// 帧生命周期回调
|
||||
virtual void BeginFrame(); // 帧开始(输入采样时机)
|
||||
virtual void EndFrame(); // 帧结束
|
||||
virtual void Update(); // 逻辑更新
|
||||
|
||||
// 格斗游戏需要在精确的时间点采样输入
|
||||
// 确保回放系统的帧同步正确性
|
||||
};
|
||||
|
||||
// UEISlateApplication.h — Slate 输入管理扩展
|
||||
class FUEISlateApplication : public FSlateApplication
|
||||
{
|
||||
// User/Controller ID 映射表
|
||||
// Key: 物理控制器 Index
|
||||
// Value: 游戏内玩家 ID
|
||||
TMap<int32, int32> UserIndexMap;
|
||||
|
||||
// 格斗游戏场景:
|
||||
// 手柄1 (Index=0) → Player 1 (ID=0)
|
||||
// 手柄3 (Index=2) → Player 2 (ID=1)
|
||||
// 允许任意手柄对应任意玩家槽位
|
||||
};
|
||||
```
|
||||
|
||||
## 代码修改情况
|
||||
|
||||
| 文件路径 | 修改类型 | 修改内容 |
|
||||
|---------|---------|---------|
|
||||
| `Source/Runtime/Engine/Public/UEIEventHandler.h` | **新增文件** | `FUEIEventHandler` 帧生命周期回调接口 |
|
||||
| `Source/Runtime/Slate/Public/Framework/Application/UEISlateApplication.h` | **新增文件** | `FUEISlateApplication` 控制器映射 |
|
||||
| `Source/Runtime/Slate/Private/Framework/Application/UEISlateApplication.cpp` | **新增文件** | 实现 |
|
||||
|
||||
Reference in New Issue
Block a user