| | |
| | | public static BulletCurve CreateBulletCurve( |
| | | BattleObject caster, |
| | | SkillConfig skillConfig, |
| | | SkillSkinConfig _skillSkinConfig, |
| | | BattleEffectPlayer bulletEffect, |
| | | RectTransform target, |
| | | List<HB427_tagSCUseSkill.tagSCUseSkillHurt> hurtList, |
| | |
| | | Action<int, List<HB427_tagSCUseSkill.tagSCUseSkillHurt>> onHit) |
| | | { |
| | | BulletCurve curve = null; |
| | | switch (skillConfig.BulletPath) |
| | | switch (_skillSkinConfig.BulletPath) |
| | | { |
| | | case 1: // 直线消失于目标 |
| | | curve = new StraightBulletCurve(caster, skillConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | curve = new StraightBulletCurve(caster, skillConfig, _skillSkinConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | break; |
| | | case 2: // 直线贯穿消失在屏幕外 |
| | | curve = new PenetrateBulletCurve(caster, skillConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | curve = new PenetrateBulletCurve(caster, skillConfig, _skillSkinConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | break; |
| | | case 3: // 抛物线弧线 |
| | | curve = new BezierBulletCurve(caster, skillConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | curve = new BezierBulletCurve(caster, skillConfig, _skillSkinConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | break; |
| | | case 4: // 弹射 |
| | | curve = new BounceBulletCurve(caster, skillConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | curve = new BounceBulletCurve(caster, skillConfig, _skillSkinConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | break; |
| | | default: |
| | | curve = new BulletCurve(caster, skillConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | curve = new BulletCurve(caster, skillConfig, _skillSkinConfig, bulletEffect, target, hurtList, bulletIndex, onHit); |
| | | break; |
| | | } |
| | | |