diff --git a/Assets/Scripts/LevelConfig/WaveObserver.cs b/Assets/Scripts/LevelConfig/WaveObserver.cs index 4d6e660..6434f7f 100644 --- a/Assets/Scripts/LevelConfig/WaveObserver.cs +++ b/Assets/Scripts/LevelConfig/WaveObserver.cs @@ -20,10 +20,20 @@ public class WaveObserver : Singleton public void Init(WaveConfig config) { + _subjects.Clear(); + _aliveEnemyCount.Clear(); + _intervalTiming.Clear(); + _levelConfig = Object.Instantiate(config); _copyConstantSpawn = new List(); _copyGroupSpawn = new List>(); _groupSpawnTimers = new List(); + + _spawnerTiming = 0; + _currentGroupIndex = 0; + _once = true; + + if (!_levelConfig) { Debug.LogError("level config was null"); @@ -59,6 +69,7 @@ public class WaveObserver : Singleton */ public void Attach(SpawnerTile spawnerSubject) { + if (_subjects.Contains(spawnerSubject)) return; spawnerSubject.Prefab = _levelConfig.GetRandomSpawn().GetEnemyObject(); _subjects.Add(spawnerSubject);