chenxin
2020-11-27 c49c0e39e4c11a438014a0b0732ecf0968fceb5e
Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
@@ -165,7 +165,6 @@
        /// <param name="level"></param>
        public void InitPort(int level)
        {
            EndlessBuffData.InitEndlessBuffPool(level);
            InitPortData(level);
            InitWaveData();
            RefreshBoss();
@@ -314,15 +313,29 @@
            return waves[waveline].StartingNode.GetNextNode().transform.position;
        }
        private void RefreshBoss()
        {
            if (CurrentWaveIndex > 0 || TotalWaves == 1)
                EndlessBossHPManager.instance.SwitchHP(CurrentWaveIndex == TotalWaves - 1);
            EndlessBossHPManager.instance.InitHP(EndlessPortData.GetWaveEnemiesTotalHP(Level, CurrentWaveIndex));
            EndlessBossHPManager.instance.SetBossInfo($"第{Level}关 {waveData[0].Config.boss_name}");
            if (GameConfig.IsNewbie)
                EndlessBossHPManager.instance.SetBossInfo($"新手关 {waveData[0].Config.boss_name}");
            else
            {
                int level = GameConfig.IsNewbieStart ? Level - EndlessPortData.NewbieTotalLevel : Level;
                EndlessBossHPManager.instance.SetBossInfo($"第{level}关 {waveData[0].Config.boss_name}");
            }
            EndlessBossHPManager.instance.UpdateWave(TotalWaves - CurrentWaveIndex);
            EndlessBossHPManager.instance.ShowHP();
            EndlessScoreManager.instance.ShowScore();
            EndlessLevelManager.instance.DropRate = EndlessPortData.GetDropRate(Level, CurrentWaveIndex);
            reward tmpData = EndlessPortData.GetDropReward(Level, CurrentWaveIndex);
            //if(tmpData!=null && tmpData.type == Protobuf.CURRENCY.Arenaexp)//暂时没法判断,需要新加字段
            if (tmpData != null)
                EndlessLevelManager.instance.DropCoin = tmpData != null ? tmpData.count : 0;
        }
        /// <summary>
@@ -380,13 +393,32 @@
        {
            ++SpawnedTotalEnemies;
            if (GameConfig.IsNewbie && EndlessUIStart.instance.beginSkillStep && SpawnedTotalEnemies >= 8)
            if (GameConfig.IsNewbie)
            {
                EndlessUIStart.instance.beginSkillStep = false;
                EndlessLevelManager.instance.StopSecondWave();
                if (EndlessUIStart.instance.beginDragStep && SpawnedTotalEnemies >= 3)
                {
                    EndlessUIStart.instance.beginDragStep = false;
                    EndlessLevelManager.instance.StopSecondWave();
                }
                else if (EndlessUIStart.instance.guideThirdWaveStep)
                {
                    //Debug.Log($"当前波次是木属性的 总怪物数量:{TotalEnemies}  当前已经生成了:{SpawnedTotalEnemies * 2}");
                    if (TotalEnemies - (SpawnedTotalEnemies * 2) <= 0)
                    {
                        Debug.Log("延迟第三波生成完毕");
                        StartCoroutine(BroadCastCreateThirdWaveDone());
                    }
                }
            }
        }
        IEnumerator BroadCastCreateThirdWaveDone()
        {
            yield return new WaitForSeconds(0.5f);
            EndlessUIStart.instance.guideThirdWaveStep = false;
            EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.CreateThirdWaveDone);
        }
        /// <summary>
        /// 暂停所有兵线出兵
        /// </summary>