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:
@@ -31,7 +31,7 @@ namespace BaseGames.Player
|
||||
private AttackDirection _activeDir;
|
||||
private IFeedbackPlayer _feedback;
|
||||
|
||||
/// <summary>下劈命中确认事件(供 DownAttackState Pogo 逻辑)。</summary>
|
||||
/// <summary>下劈命中确认事件(供 DownAttackState Pogo 逻辑)。命中 HurtBox 或可破坏物均触发。</summary>
|
||||
public event System.Action<DamageInfo> OnDownHitConfirmed;
|
||||
|
||||
/// <summary>任意 HitBox 命中确认事件(供 PlayerCombat 订阅通用命中反馈)。</summary>
|
||||
@@ -41,7 +41,10 @@ namespace BaseGames.Player
|
||||
{
|
||||
_allHitBoxes = GetComponentsInChildren<HitBox>(true);
|
||||
foreach (var hb in _allHitBoxes)
|
||||
hb.OnHitConfirmed += OnAnyHitConfirmed;
|
||||
{
|
||||
hb.OnHitConfirmed += OnAnyHitConfirmed;
|
||||
hb.OnBreakableHitConfirmed += OnAnyBreakableHitConfirmed;
|
||||
}
|
||||
_feedback = GetComponentInChildren<IFeedbackPlayer>() ?? NullFeedbackPlayer.Instance;
|
||||
}
|
||||
|
||||
@@ -57,6 +60,17 @@ namespace BaseGames.Player
|
||||
OnDownHitConfirmed?.Invoke(info);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 命中可破坏物:播放轻量打击反馈;下劈方向时同样触发弹跳。
|
||||
/// 不转发 OnHitConfirmed(可破坏物不参与灵力获取)。
|
||||
/// </summary>
|
||||
private void OnAnyBreakableHitConfirmed(DamageInfo info)
|
||||
{
|
||||
_feedback.PlayHit(HitWeight.Light);
|
||||
if (_activeDir == AttackDirection.Down)
|
||||
OnDownHitConfirmed?.Invoke(info);
|
||||
}
|
||||
|
||||
// ── 公共 API ──────────────────────────────────────────────────────────
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user