public void Step(ref WaveStartInfo token, int condition) { _enemiesData = token; _numberOfEnemyToSpawn = _enemiesData.enemiesToSpawn; _enemiesSpawned = _numberOfEnemyToSpawn; UpdateEnemiesLeftHUD(_enemiesSpawned); IntervaledTick().Run(); }
public void Step(ref DamageInfo token, int condition) { if (condition == DamageCondition.Dead) { if (_enemiesSpawned > 1) { _enemiesSpawned--; UpdateEnemiesLeftHUD(_enemiesSpawned); } else { var spawnInfo = new WaveStartInfo(0); _enemySpawnSequence.Next(this, ref spawnInfo); } } }
public void Step(ref WaveStartInfo token, int condition) { if (condition == WaveStatus.Stop) { _waveCounter++; _enemies = _enemies * _waveCounter; if (_scale < 3f) { _scale = _scale + 0.5f; } _guiEntityView.waveWaitingTimeComponent.Reset(); _guiEntityView.enemiesLeftComponent.isEnabled = false; _waveSpawned = false; } }
void SpawnWave(int enemies, float scale) { var waveStartInfo = new WaveStartInfo(enemies, scale); _enemySpawnSequencer.Next(this, ref waveStartInfo); }