feat: Implement DownDash ability and related systems

- Added DownDash ability with cooldown and speed configuration.
- Introduced DownDashState to handle down dashing mechanics, including gravity manipulation and animation playback.
- Updated PlayerMovement to support DownDash functionality.
- Enhanced PlayerStats to manage spring charge consumption and healing.
- Modified PlayerCombat and WeaponHitBoxInstance to support new hit confirmation events.
- Updated AbilityType to include new form types for character abilities.
- Improved Gizmos for better visualization of enemy detection and attack ranges.
- Added feedback systems for form switching in PlayerFeedback and IFeedbackPlayer.
- Refactored combat and movement states to accommodate new abilities and ensure smooth transitions.
This commit is contained in:
2026-05-22 00:09:50 +08:00
parent 534de11e5d
commit 47bdc67cdf
27 changed files with 443 additions and 129 deletions

View File

@@ -123,13 +123,23 @@ namespace BaseGames.Combat
{
var col = GetComponent<Collider2D>();
if (col == null) return;
// HurtBox正常激活 = 青色,无敌 = 黄色,非激活 = 极淡青
Gizmos.color = !_isActive
? new Color(0f, 0.85f, 1f, 0.15f)
: _isHurtBoxInvincible
? new Color(1f, 1f, 0f, 1f )
: new Color(0f, 0.85f, 1f, 1f );
HitBox.DrawCollider2DWire(col);
Color fill, outline;
if (!_isActive)
{
fill = new Color(0f, 0.85f, 1f, 0.05f);
outline = new Color(0f, 0.85f, 1f, 0.20f);
}
else if (_isHurtBoxInvincible)
{
fill = new Color(1f, 1f, 0f, 0.25f);
outline = new Color(1f, 1f, 0f, 0.90f);
}
else
{
fill = new Color(0f, 0.85f, 1f, 0.20f);
outline = new Color(0f, 0.85f, 1f, 0.90f);
}
HitBox.DrawCollider2DFilled(col, fill, outline);
}
#endif
}