| | |
| | | protected bool isWaveStoped = false; |
| | | |
| | | /// <summary> |
| | | /// 暂停兵线出怪 |
| | | /// </summary> |
| | | protected bool isWavePaused = false; |
| | | |
| | | /// <summary> |
| | | /// 怪物刷新速度的缩放. |
| | | /// </summary> |
| | | protected float spawnTimeScale = 1.0f; |
| | |
| | | isWaveStoped = false; |
| | | spawnedEnemies = 0; |
| | | |
| | | SpawnCurrent(); |
| | | spawnTimer = new RepeatingTimer(data.Config.interval / 1000f, SpawnCurrent); |
| | | |
| | | if (!isWavePaused) |
| | | { |
| | | SpawnCurrent(); |
| | | StartTimer(spawnTimer); |
| | | } |
| | | StartTimer(spawnTimer); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | public void PauseWave() |
| | | { |
| | | PauseTimer(spawnTimer); |
| | | isWavePaused = true; |
| | | } |
| | | |
| | | public void RestartWave() |
| | | { |
| | | if (spawnTimer != null) |
| | | StartTimer(spawnTimer); |
| | | isWavePaused = false; |
| | | |
| | | if (spawnedEnemies == 0 && waveData != null) |
| | | SpawnCurrent(); |
| | | } |
| | | |
| | | protected virtual void SpawnCurrent() |
| | | { |
| | | if (isWaveStoped || isWavePaused) return; |
| | | if (isWaveStoped) return; |
| | | |
| | | if (!TrySetupNextSpawn()) |
| | | { |