示例#1
0
        /// <summary>
        /// 持续伤害的技能(如果持续时间=攻击间隔) 则调用一次
        /// </summary>
        /// <param name="deployer"></param>
        /// <returns></returns>
        private IEnumerator RepeatAttack(SkillDeployer deployer)
        {
            float atkTime = 0;

            do
            {
                //单次攻击
                OnceAttack(deployer.CurrentSkillData);
                //等待攻击间隔
                yield return(new WaitForSeconds(deployer.CurrentSkillData.atkInterval));

                //计时
                atkTime += deployer.CurrentSkillData.atkInterval;
                //每次攻击完重新计算目标
                deployer.CalculateTargets();
            } while (atkTime < deployer.CurrentSkillData.durationTime);
        }
示例#2
0
 public void DoImpact(SkillDeployer deployer)
 {
     deployer.StartCoroutine(RepeatAttack(deployer));
 }
示例#3
0
 public void DoImpact(SkillDeployer deployer)
 {
     deployer.CurrentSkillData.onwer.GetComponent <PlayerStatus>().SP -= deployer.CurrentSkillData.costSP;
 }