yyl
2025-08-25 cec8b67d82c2c2c1662d55c818c4a46bcc0487db
Main/System/Battle/SkillEffect/BulletCurve/BulletCurveFactory.cs
@@ -18,18 +18,28 @@
        HB427_tagSCUseSkill tagUseSkillAttack,
        Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit)
    {
        BulletCurve curve = null;
        switch (skillConfig.BulletPath)
        {
            case 1: // 直线消失于目标
                return new StraightBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                curve = new StraightBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                break;
            case 2: // 直线贯穿消失在屏幕外
                return new PenetrateBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                curve = new PenetrateBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                break;
            case 3: // 抛物线弧线
                return new BezierBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                curve = new BezierBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                break;
            case 4: // 弹射
                return new BounceBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                curve = new BounceBulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                break;
            default:
                return new BulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                curve = new BulletCurve(caster, skillConfig, bulletEffect, target, tagUseSkillAttack, onHit);
                break;
        }
        curve.Reset();
        return curve;
    }
}