weixudong
2020-11-19 69e0fea6c92fd4e153d45e5f26ef89baecf0405a
Assets/Scripts/TowerDefense/UI/FreezeBreath.cs
@@ -28,9 +28,20 @@
        public static float ChargeTime { get; private set; } = 10f;
        /// <summary>
        /// 技能持续时间
        /// 伤害时间
        /// </summary>
        public static float EffectTime { get; private set; } = 1f;
        public float EffectTime { get; private set; } = 2f;
        /// <summary>
        /// 伤害结算次数
        /// </summary>
        /// <value></value>
        public int DamageCount { get; private set; } = 6;
        /// <summary>
        /// 整个技能时间
        /// </summary>
        public float SkillTime { get; private set; } = 2.5f;
        /// <summary>
        /// 当前的充能进度
@@ -87,8 +98,6 @@
                agentList.Add(list[i]);
            }
            PlayFreezeEffect(waveLineId);
            while (agentList.Count > 0)
            {
                Agent agent = agentList[0];
@@ -96,15 +105,26 @@
                if (agent.isDead) continue;
                agent.addSpeedSlowRate(0.25f);
                agent.PlayOnHitImmediately();
                EndlessGameUI.instance.generateBloodText(agent.position, damage);
                agent.TakeDamage(damage, agent.position, alignmentProvider);
                if (agent.AgentType == SpawnAgentType.Normal)
                {
                    agent.addSpeedSlowRate(0.15f);
                    agent.PlayOnHitImmediately();
                    EndlessGameUI.instance.generateBloodText(agent.position, damage);
                    agent.TakeDamage(damage, agent.position, alignmentProvider);
                }
                else if (agent.AgentType == SpawnAgentType.BubbleBomb)
                    EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessBossSkillBubbleBombGetHit, (agent as BubbleBombAgent).Id);
            }
        }
        private void PlayFreezeEffect(int waveLineId)
        public void PlayFreezeEffect(int waveLineId)
        {
            WaveLineAgentInsMgr[] agentInsMgrs = AgentInsManager.instance.GetWaveLineList();
            WaveLineAgentInsMgr waveLineAgentInsMgr = agentInsMgrs[waveLineId];
            List<Agent> list = waveLineAgentInsMgr.listAgent;
            if (list.Count == 0) return;
            GameObject obj = Poolable.TryGetPoolable(FreezeJet);
            ParticleSystem ps = obj.GetComponent<ParticleSystem>();