This commit is contained in:
2026-09-01 23:35:24 +08:00
parent 013784e122
commit e85459257a
+13 -6
View File
@@ -176,8 +176,10 @@ public class SitPosData : MonoBehaviour
btn_TurretMinus.onClick.AddListener(() => ChangeTurretMinusConsumeNum());
// ⭐ 散射起点球父对象兜底:预制体没拖引用就自动创建(挂 beij 下,炮台两侧),
// 保证 UpdateJGFXParentsActive 永远有对象可激活,不依赖 Inspector 配置
EnsureJGFXParents();
// 保证 UpdateJGFXParentsActive 永远有对象可激活,不依赖 Inspector 配置。
// XJMH(星际迷航)没有战神/激光概念,跳过不给它加节点。
if (turretControlMode != TurretControlMode.XJMH)
EnsureJGFXParents();
// XJMH 模式:隐藏钻石显示(只显示金币)
if (turretControlMode == TurretControlMode.XJMH && tMP_DiamondNum != null)
@@ -1175,12 +1177,17 @@ public class SitPosData : MonoBehaviour
if (isLaserLocked) return;
currentAngle = angle;
// ⭐ 炮台旋转只作用于 turretRotate,其余不改
// ⭐ 必须用【世界旋转】:瞄准参考系是 beij(tra_CurrTurret 的父节点),currentAngle
// 已是和 beij 翻转抵消后的统一角度(aim-90),直接写世界旋转炮口即对准目标;
// 若改用本地旋转,上方座位 beij 的 180° 翻转会叠加进来,炮口反向 180°
// ⭐ 两个分支(Normal / XJMH)分开处理:
// - Normal(turretRotate 已配置):旋转只作用于 turretRotate,用【世界旋转】——瞄准参考系是 beij
// (tra_CurrTurret 的父节点),currentAngle 已是和 beij 翻转抵消后的统一角度(aim-90),
// 直接写世界旋转炮口即对准目标;若用本地旋转,上方座位 beij 的 180° 翻转会叠加进来导致反向。
// - XJMH(星际迷航,turretRotate 未配置):保持旧版行为,直接转 tra_CurrTurret(世界旋转),
// 该分支不动。
if (turretRotate != null)
turretRotate.rotation = Quaternion.Euler(0, 0, angle);
else if (tra_CurrTurret != null)
tra_CurrTurret.rotation = Quaternion.Euler(0, 0, angle);
}
// -------------------------