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

@@ -13,7 +13,8 @@ namespace BaseGames.Editor
/// 分组:
/// 移动能力 — WallCling / WallJump / Dash / AirDash / DoubleJump / SuperJump / Swim / DownDash
/// 法术能力 — Spell1 / Spell2 / Spell3
/// 形态能力 — SpiritForm / SpiritDash
/// 灵魄形态 — SpiritForm / SpiritDash
/// 三魂形态 — FormTianHun / FormDiHun / FormMingHun
/// 战斗能力 — Parry / ChargeAttack / DownSlash
/// 互动能力 — Interact / FastTravel
/// 能力强化 — InvincibleDash
@@ -46,6 +47,12 @@ namespace BaseGames.Editor
(AbilityType.SpiritForm, "灵魄形态"),
(AbilityType.SpiritDash, "灵魄冲刺"),
}),
("三魂形态", new[]
{
(AbilityType.FormTianHun, "天魂"),
(AbilityType.FormDiHun, "地魂"),
(AbilityType.FormMingHun, "命魂"),
}),
("战斗能力", new[]
{
(AbilityType.Parry, "弹反"),

View File

@@ -51,6 +51,7 @@ namespace BaseGames.Editor
}),
("法术能力", new[] { AbilityType.Spell1, AbilityType.Spell2, AbilityType.Spell3 }),
("灵魄形态", new[] { AbilityType.SpiritForm, AbilityType.SpiritDash }),
("三魂形态", new[] { AbilityType.FormTianHun, AbilityType.FormDiHun, AbilityType.FormMingHun }),
("战斗能力", new[] { AbilityType.Parry, AbilityType.ChargeAttack, AbilityType.DownSlash }),
("互动能力", new[] { AbilityType.Interact, AbilityType.FastTravel }),
("能力强化", new[] { AbilityType.InvincibleDash }),
@@ -58,12 +59,13 @@ namespace BaseGames.Editor
private static readonly string[] AbilityFlagNames =
{
"贴墙悬挂", "墙跳", "地面冲刺", "空中冲刺", "二段跳", "超级跳", "游泳", "下",
"贴墙悬挂", "墙跳", "地面冲刺", "空中冲刺", "二段跳", "超级跳", "游泳", "下冲刺",
"法术槽 1", "法术槽 2", "法术槽 3",
"灵魄形态", "灵魄冲刺",
"弹反", "蓄力攻击", "下斩",
"互动", "快速旅行",
"无敌冲刺",
"天魂", "地魂", "命魂",
};
// ── 样式(懒初始化)──────────────────────────────────────────────────
@@ -469,7 +471,10 @@ namespace BaseGames.Editor
AbilityType.DownSlash => "下斩",
AbilityType.Interact => "互动",
AbilityType.FastTravel => "快速旅行",
AbilityType.InvincibleDash => "无敌冲刺",
AbilityType.InvincibleDash => "无敌冲刺",
AbilityType.FormTianHun => "天魂",
AbilityType.FormDiHun => "地魂",
AbilityType.FormMingHun => "命魂",
_ => flag.ToString(),
};