chenxin
2020-12-01 e36f2a3ac098d6e89d3882f3354ec69c07e71e16
Assets/Scripts/TowerDefense/Affectors/AttackAffector.cs
@@ -161,9 +161,7 @@
        /// <summary>
        /// 木属性精灵蓄力特效
        /// </summary>
        public GameObject WoodChargeEffect;
        private GameObject woodChargeEffect;
        public ParticleSystem WoodChargeEffect;
        public Transform WoodChargeTransform;
@@ -344,12 +342,11 @@
                woodChargeEffectTime -= Time.deltaTime;
                UpdateWoodAim();
                if (woodChargeEffectTime <= 0 && woodChargeEffect != null)
                if (woodChargeEffectTime <= 0)
                {
                    towerPtr.IsWoodCharge = false;
                    CancelWoodAim();
                    Destroy(woodChargeEffect);
                    woodChargeEffect = null;
                    WoodChargeEffect.Stop();
                }
            }
@@ -376,7 +373,7 @@
        private void UpdateWoodAim()
        {
            // 离得最近的 Agent
            Agent agent = GetMinDistanceAgent();
            Agent agent = AgentInsManager.instance.GetMinDisAgent(waveLineID, false);
            if (agent != null)
            {
@@ -411,34 +408,6 @@
                    ++agent.WoodAimCount;
                }
            }
        }
        /// <summary>
        /// 获取距离终点最近的Agent
        /// </summary>
        /// <returns></returns>
        private Agent GetMinDistanceAgent()
        {
            Agent ret = null;
            float minDistance = -1f;
            WaveLineAgentInsMgr[] waveLineAgentIns = AgentInsManager.instance.GetWaveLineList();
            WaveLineAgentInsMgr waveLineAgentInsMgr = waveLineAgentIns[waveLineID];
            List<Agent> agents = waveLineAgentInsMgr.listAgent;
            Vector3 endPos = EndlessLevelManager.instance.GetHomeBasePosition(waveLineID + 1);
            for (int i = 0; i < agents.Count; ++i)
            {
                float distance = Mathf.Abs(agents[i].transform.position.z - endPos.z);
                if (minDistance < 0 || distance < minDistance)
                {
                    minDistance = distance;
                    ret = agents[i];
                }
            }
            return ret;
        }
        /// <summary>
@@ -477,7 +446,6 @@
                    {
                        fireState = true;
                        fInEnergy = finalFireSpeed;
                        myTower.SetFireMatSpeed(true);//设置了火宝石快速攻击
                        // 设置多倍攻击速度
                        fBackupTimer = m_FireTimer;
                        m_FireTimer = m_FireTimer / finalFireSpeed;
@@ -491,8 +459,6 @@
                    fInEnergy -= Time.deltaTime;
                    if (fInEnergy <= 0)
                    {
                        myTower.SetFireMatSpeed(false);//恢复了火宝石攻击速度
                        fireState = false;
                        EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.FireTowerChargeEnd);
                        fInEnergy = 0.0f;
@@ -583,8 +549,6 @@
            {
                if (fireState)
                {
                    myTower.SetFireMatSpeed(true);//设置了火宝石快速攻击
                    towerPtr.PlayEnergyEffect(true);
                }
            }
@@ -707,17 +671,8 @@
                        woodRemainChargeTime = decreaseWoodChargeTime.GetWoodChargeTime(woodChargeTime);
                    woodChargeEffectTime = woodRemainChargeTime + 0.5f / towerLevel.ActionAnimator.speed;
                    woodChargeEffect = Instantiate(WoodChargeEffect);
                    woodChargeEffect.transform.SetParent(gameObject.transform);
                    woodChargeEffect.transform.SetPositionAndRotation(WoodChargeTransform.position, WoodChargeTransform.rotation);
                    ParticleSystem ps = woodChargeEffect.transform.GetChild(0).GetComponent<ParticleSystem>();
                    ps.Play();
                    WoodChargeEffect.Play();
                }
            }
            else
            {
                if (towerPtr)
                    towerPtr.setTowerState(true);
            }
            if (isMultiAttack)
@@ -735,11 +690,11 @@
                        AudioSourceManager.Ins.Play(audioEnum);
                }
            }
            if (randomAudioSource != null)
            {
                if (Targetter.bSearchTarget)
                    randomAudioSource.PlayRandomClip();
            }
            // if (randomAudioSource != null)
            // {
            //     if (Targetter.bSearchTarget)
            //         randomAudioSource.PlayRandomClip();
            // }
        }
        /// <summary>