lcy
2025-11-06 09bc892c7283df8757a07b646d5af21ddaa263d1
Main/System/Battle/SkillEffect/BulletCurve/PenetrateBulletCurve.cs
@@ -9,8 +9,8 @@
    private Vector2 outPos;     // 屏幕外延长点(本地坐标)
    private bool hitTriggered = false; // 是否已触发onHit
    public PenetrateBulletCurve(BattleObject caster, SkillConfig skillConfig, BattleEffectPlayer effectPlayer, RectTransform target, HB427_tagSCUseSkill tagUseSkillAttack, Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit)
        : base(caster, skillConfig, effectPlayer, target, tagUseSkillAttack, onHit) { }
    public PenetrateBulletCurve(BattleObject caster, SkillConfig skillConfig, BattleEffectPlayer effectPlayer, RectTransform target, List<HB427_tagSCUseSkill.tagSCUseSkillHurt> hurtList, int bulletIndex, Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit)
        : base(caster, skillConfig, effectPlayer, target, hurtList, bulletIndex, onHit) { }
    /// <summary>
    /// 初始化弹道参数
@@ -19,7 +19,7 @@
    {
        base.Reset();
        hitTriggered = false;
        start = WorldToLocalAnchoredPosition(bulletTrans.position);
        start = WorldToLocalAnchoredPosition(bulletTrans.position) + bulletOffset;
        end = WorldToLocalAnchoredPosition(target.position);
        duration = Vector2.Distance(start, end) / skillConfig.BulletFlySpeed;
        Vector2 dir = (end - start).normalized;
@@ -52,7 +52,7 @@
            if (!hitTriggered)
            {
                hitTriggered = true;
                onHit?.Invoke(0, hurts);
                onHit?.Invoke(mBulletIndex, hurts);
            }
        }
        bulletTrans.anchoredPosition = pos;