Beispiel #1
0
        private IEnumerator RepeatDamage(SkillDeployer deployer)
        {
            float atkTime = 0;

            do
            {
                OnceDamage(deployer);
                yield return(new WaitForSeconds(deployer.CurrentSkillData.atkInterval - Time.deltaTime));

                atkTime += (deployer.CurrentSkillData.atkInterval - Time.deltaTime);
                deployer.CalculateTargets();
            } while (atkTime < deployer.CurrentSkillData.durationTime);
        }
Beispiel #2
0
        /// <summary>
        /// 重复攻击
        /// </summary>
        /// <returns></returns>
        private IEnumerator RepeatAttack(SkillDeployer deployer)
        {
            float atkTime = 0;

            do
            {
                if (deployer.CurrentSkillData.attackTargets != null)
                {
                    Attack(deployer.CurrentSkillData);
                }
                yield return(new WaitForSeconds(deployer.CurrentSkillData.atkInterval));

                atkTime += deployer.CurrentSkillData.atkInterval;
                //再次计算攻击目标
                deployer.CalculateTargets();
            } while (atkTime < deployer.CurrentSkillData.durationTime);
        }