feat(combat): 弹反投射物伤害目标层改为显式配置

ProjectileConfigSO 新增 ReflectedTargetLayers:弹反后写入 HitBox.TargetLayers 的目标层显式配置;留空(Nothing)有明确缺省语义=自动翻转(PlayerHurtBox 位换 EnemyHurtBox 位、其余位保留)。Projectile/ParryableProjectile 两条弹反路径统一走 ApplyReflectedTargetLayers。现有 6 个投射物配置资产已显式配为 EnemyHurtBox。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-12 10:43:57 +08:00
parent 1866f323e4
commit 5922ef373d
9 changed files with 41 additions and 7 deletions

View File

@@ -36,10 +36,10 @@ namespace BaseGames.Combat
// 阵营随弹反翻转:切到 PlayerProjectile 层(否则碰撞矩阵
// EnemyProjectile↔EnemyHurtBox 不碰撞,反射后永远打不中敌人),
// 伤害目标层同步从玩家侧切到敌人侧
// 伤害目标层同步切换(优先取配置的 ReflectedTargetLayers
int playerProjLayer = LayerMask.NameToLayer("PlayerProjectile");
if (playerProjLayer >= 0) gameObject.layer = playerProjLayer;
RetargetToEnemyFaction();
ApplyReflectedTargetLayers();
if (_reflectSource != null)
DamageInfo = DamageInfo.From(_reflectSource);