Game 模块架构文档
目录
模块分层总览
类关系图
核心类继承与实现关系
数据模型类关系
核心类职责
GameInstance(游戏主实例)
GameInstance 是整个游戏引擎的核心,通过内部枚举 LifecycleState 实现完整状态机:
初始化顺序(Phase 1 → Phase 3):
GameManager(全局实例注册)
TimingManager(节拍时序转换)
核心公式:
已知:BPM 变化列表 [{beat₀, bpm₀}, {beat₁, bpm₁}, ...]
beat→ms:
targetMs = 上一段起点的绝对ms
ms = targetMs + round(60000 / bpm * (beat - targetBeat)) + offsetMs
ms→beat:
beat = targetBeat + (timeMs - targetMs) * bpm / 60000
包间依赖关系
对象池架构
NoteManager 管理 GameplayNote(ItemDisplay 实体)的对象池,通过需求曲线预测动态调整池大小:
常量:
| 常量 | 值 | 说明 |
|---|---|---|
LOOK_AHEAD_BEATS | 4.0 | 前瞻窗口(beat) |
POOL_MARGIN | 10 | 峰值之上的额外缓冲 |
BATCH_SIZE | 50 | 每 tick 预加载数 |
SHRINK_BATCH | 50 | 每 tick 销毁数 |
SHRINK_THRESHOLD | 64 | 触发缩池的超出量 |
对手系统架构
资源包系统架构
特效系统架构
反馈系统架构
FeedbackManager 按玩家设置动态组装 Guidance 责任链: