public void RegisterSpawnerAsListener(Spawner spawner) { waveStartEvent.RegisterListener(spawner.StartSpawnCicle); waveEndEvent.RegisterListener(spawner.StopSpawnCicle); finalWaveStartEvent.RegisterListener(spawner.StartSpawnCicle); finalWaveEndEvent.RegisterListener(spawner.StopSpawnCicle); if (ActualState.Equals(WaveStates.RUNNING)) { spawner.StartSpawnCicle(); } }
private void Update() { // Se a onda estiver ocorrendo // Devemos checar pelas condições de fim de turno if (actualState == WaveStates.RUNNING) { // Se não hover nenhum inimigo, devemos iniciar próximo turno if (!StillHaveEnemys()) { CompleteWave(); } // se aida houverem inimigos, devemos esperar eles morrerem return; } // Checa se já está na hora de iniciar a onda // Checa se ela já não está no estado de spawn if (countDown <= 0 && !actualState.Equals(WaveStates.RUNNING)) { StartWave(); } else { actualState = WaveStates.COUNTING; countDown -= Time.deltaTime; } }