chenxin
2020-10-27 e33d0e85cf5d01e953d95197488eeffc67835f3a
Assets/Scripts/TowerDefense/Level/EndlessWaveManager.cs
@@ -74,6 +74,12 @@
        public int TotalEnemies { get; protected set; }
        /// <summary>
        /// 所有兵线已经生成的敌人总数量
        /// </summary>
        /// <value></value>
        public int SpawnedTotalEnemies { get; protected set; }
        /// <summary>
        /// 本波次剩余敌人数量
        /// </summary>
        public int RemainEnemies { get; protected set; }
@@ -164,7 +170,7 @@
        private void RefreshBoss()
        {
            if (CurrentWaveIndex > 0)
            if (CurrentWaveIndex > 0 || TotalWaves == 1)
                EndlessBossHPManager.instance.SwitchHP(CurrentWaveIndex == TotalWaves - 1);
            EndlessBossHPManager.instance.SetBossInfo($"{waveData[0].Config.boss_name}  Lv.{Level}");
            EndlessBossHPManager.instance.UpdateWave(TotalWaves - CurrentWaveIndex);
@@ -184,7 +190,7 @@
            WaveInterval = waveData[0].Config.cooldown / 1000f;
            TotalWaveLines = waveData.Count;
            CompletedWaveLine = 0;
            SpawnedTotalEnemies = 0;
            HideTunel();
            // 刷新法阵的显示
@@ -216,13 +222,30 @@
                    continue;
                }
                waves[data.Config.tunel - 1].WaveCompleted -= OneWaveCompleted;
                waves[data.Config.tunel - 1].WaveCompleted += OneWaveCompleted;
                int tunelIndex = data.Config.tunel - 1;
                waves[tunelIndex].WaveCompleted -= OneWaveCompleted;
                waves[tunelIndex].WaveCompleted += OneWaveCompleted;
                waves[tunelIndex].SpawnNewAgent -= SpawnNewAgent;
                waves[tunelIndex].SpawnNewAgent += SpawnNewAgent;
                waves[data.Config.tunel - 1].StartWave(data);
            }
            if (TotalWaveLines != 0)
                isWaveStarted = true;
        }
        /// <summary>
        /// 有新的敌人生成
        /// </summary>
        private void SpawnNewAgent()
        {
            ++SpawnedTotalEnemies;
            if (GameConfig.IsNewbie && EndlessUIStart.instance.beginSkillStep && SpawnedTotalEnemies >= 8)
            {
                EndlessUIStart.instance.beginSkillStep = false;
                EndlessLevelManager.instance.StopSecondWave();
            }
        }
        /// <summary>
@@ -276,6 +299,7 @@
                // 更新波索引
                ++CurrentWaveIndex;
                EndlessBuffManager.instance.UpdateBuffList();
                EventCenter.Ins.BroadCast((int)KTGMGemClient.EventType.EndlessCompletedPort, Level, CurrentWaveIndex);
                if (CurrentWaveIndex >= TotalWaves)
                    // 当前关卡的所有波次全部完成