From f7eb2d4368876614d89b90475fac6f0ec87f548d Mon Sep 17 00:00:00 2001 From: Joywayer Date: Fri, 12 Jun 2026 11:59:35 +0800 Subject: [PATCH] =?UTF-8?q?fix(editor):=20WeaponHitBoxWizard=20=E8=A1=A5?= =?UTF-8?q?=E6=8C=82=20WeaponFeedback=E2=80=94=E2=80=94=E6=AD=A6=E5=99=A8?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E5=8F=8D=E9=A6=88=E9=93=BE=E8=B7=AF=E6=8E=A5?= =?UTF-8?q?=E9=80=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 向导生成武器 HitBox Prefab 时在根节点添加 WeaponFeedback (WeaponHitBoxInstance.Awake 经 GetComponentInChildren 获取)。 此前组件缺失,武器级命中/破风反馈静默落到 NullFeedbackPlayer。 MMF_Player 反馈链内容仍留待 Inspector 编排。存量 WPN_WPN_DiHun_HitBox.prefab 已另行补挂修正。 Co-Authored-By: Claude Fable 5 --- Assets/_Game/Scripts/Editor/Combat/WeaponHitBoxWizard.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Assets/_Game/Scripts/Editor/Combat/WeaponHitBoxWizard.cs b/Assets/_Game/Scripts/Editor/Combat/WeaponHitBoxWizard.cs index 497f19e..f1cea57 100644 --- a/Assets/_Game/Scripts/Editor/Combat/WeaponHitBoxWizard.cs +++ b/Assets/_Game/Scripts/Editor/Combat/WeaponHitBoxWizard.cs @@ -2,6 +2,7 @@ using System.IO; using UnityEditor; using UnityEngine; using BaseGames.Combat; +using BaseGames.Feedback; using BaseGames.Player; namespace BaseGames.Editor.Combat @@ -12,11 +13,14 @@ namespace BaseGames.Editor.Combat /// /// 生成路径规范:Assets/_Game/Prefabs/Weapons/WPN_{weaponId}_HitBox.prefab /// Prefab 结构: - /// [WPN_{weaponId}_HitBox] ← WeaponHitBoxInstance + /// [WPN_{weaponId}_HitBox] ← WeaponHitBoxInstance + WeaponFeedback(武器本地反馈:命中粒子/音效/破风) /// ├── [HitBox_Ground] ← Collider2D(IsTrigger, 形状可选) + HitBox, Layer=PlayerHitBox /// ├── [HitBox_Up] /// ├── [HitBox_Down] /// └── [HitBox_Air] + /// + /// WeaponFeedback 的 MMF_Player 反馈链留待 Inspector 编排; + /// 缺失该组件时 WeaponHitBoxInstance 会静默落到 NullFeedbackPlayer(无武器级表现)。 /// public class WeaponHitBoxWizard : ScriptableWizard { @@ -101,6 +105,9 @@ namespace BaseGames.Editor.Combat // ── 构建 Prefab ──────────────────────────────────────────────── var root = new GameObject(prefabName); var instance = root.AddComponent(); + // 武器本地反馈(WeaponHitBoxInstance.Awake 经 GetComponentInChildren() 获取); + // MMF_Player 反馈链留待 Inspector 编排 + root.AddComponent(); var so = new SerializedObject(instance); void AddDirection(bool enabled, string nodeName, string fieldName, ColliderShape shape)