Split game module documentation
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Combat
|
||||
|
||||
## 职责
|
||||
|
||||
战斗模块负责攻击、命中、受击、伤害、击退和状态互斥。当前只做了最小预留,还未进入正式玩法实现。
|
||||
|
||||
主要源码:
|
||||
|
||||
- `game/src/combat/hitbox.h`
|
||||
- `game/src/actor/player_actor.*`
|
||||
|
||||
## 当前状态
|
||||
|
||||
已有:
|
||||
|
||||
- 玩家攻击输入。
|
||||
- punch 动画状态。
|
||||
- 攻击音效 cue。
|
||||
- `hitbox.h` 预留。
|
||||
|
||||
未完成:
|
||||
|
||||
- 攻击 hitbox。
|
||||
- hurtbox。
|
||||
- 命中检测。
|
||||
- 伤害数值。
|
||||
- 受击硬直。
|
||||
- 击退。
|
||||
- 血量。
|
||||
- 怪物受击和死亡。
|
||||
|
||||
## 后续拆分建议
|
||||
|
||||
优先保持轻量,不急着做复杂战斗框架:
|
||||
|
||||
- `HitboxComponent`:攻击框、受击框。
|
||||
- `CombatStats`:血量、伤害、防御等固定数值。
|
||||
- `CombatResolver`:命中判定和伤害结算。
|
||||
- `HitReaction`:硬直、击退、受伤状态。
|
||||
|
||||
## 接入顺序
|
||||
|
||||
1. 从玩家 punch 状态产生一帧或多帧 hitbox。
|
||||
2. DebugOverlay 显示 hitbox/hurtbox。
|
||||
3. 新增一个最小 `EnemyActor`。
|
||||
4. 完成玩家攻击命中敌人的闭环。
|
||||
5. 再接 battle zone 清场。
|
||||
Reference in New Issue
Block a user