feat(combat): 下劈弹跳完善——可破坏物可弹跳+独立弹跳力+下劈保留空中操控

- HitBox 新增 OnBreakableHitConfirmed:命中 IBreakable 也发命中确认,
  下劈打可破坏物同样弹跳;不走 OnHitConfirmed,灵力仍只来自敌人
- 新增 PogoBounceForce 配置(默认 15,略低于 JumpForce=18)+
  PlayerMovement.PogoBounce(),弹跳高度独立可调、固定不可截断
- DownAttackState 增加 OnStateFixedUpdate:下劈期间保留完整空中
  水平操控(含与 FallState 同款贴墙保护)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-12 09:51:17 +08:00
parent 3bafc4cbaa
commit 8515dfa7ab
6 changed files with 63 additions and 4 deletions

View File

@@ -77,6 +77,13 @@ namespace BaseGames.Combat
/// <summary>命中确认委托PlayerCombat / EnemyCombat 订阅)。</summary>
public event System.Action<DamageInfo> OnHitConfirmed;
/// <summary>
/// 命中可破坏物IBreakable确认事件。
/// 与 OnHitConfirmed 区分:不走 HurtBox 伤害流水线,不参与灵力获取;
/// 供下劈弹跳等"打到实体即生效"的逻辑订阅。
/// </summary>
public event System.Action<DamageInfo> OnBreakableHitConfirmed;
// 宿主投射物缓存Activate 时填入DamageInfo.SourceProjectile 写入用)
private Projectile _ownerProjectile;
@@ -260,7 +267,10 @@ namespace BaseGames.Combat
// ③ 命中 IBreakable机关/障碍物)
if (other.TryGetComponent<IBreakable>(out var breakable))
{
breakable.TryInteract(info);
OnBreakableHitConfirmed?.Invoke(info);
}
}
// ── 当前激活期已命中目标集合(防止复合子 Collider 导致同帧多次命中)────────────