/// <summary> /// 创建子弹类技能 /// </summary> /// <param name="cfg"></param> /// <returns></returns> private Spell CreateBullet(SkillBulletCfg cfg) { Spell spell = null; switch (cfg.BulletType) { case BulletType.Cast: if (cfg.FlyTrack) { spell = new SpellBulletTrack(_caster); } else { spell = new SpellBulletNormal(_caster); } break; case BulletType.Multiple: spell = new SpellBulletMulti(_caster); break; case BulletType.Split: spell = new SpellBulletSplit(_caster); break; case BulletType.Bounce: break; case BulletType.Boomerang: spell = new SpellBulletBoomerang(_caster); break; } return(spell); }
public override void Update(float dt) { if (_elapsedTime >= _skillBasicCfg.HitInterval) { Spell spell = new SpellBulletTrack(_caster); spell.SkillBasicCfg = _skillBasicCfg; spell.SkillBulletCfg = _skillBulletCfg; spell.target = _target; spell.Initialize(); _caster.battle.AddSpell(_caster.GlobalID, spell); _remainingNum--; _elapsedTime = 0; if (_remainingNum <= 0) { _hited = true; } } _elapsedTime += dt; }