예제 #1
0
    public void Tick()
    {
        switch (SpawnerState)
        {
        case SpawnState.PAUSE:
            break;

        case SpawnState.SPAWNING:
            if (_waveSpawner.AreAllCreepsSpawned())
            {
                SpawnerState = SpawnState.WAITING;
            }
            break;

        case SpawnState.WAITING:
            if (WaveIsKilled())
            {
                WaveCompleted();
                return;
            }
            break;

        case SpawnState.COUNTDOWN:
            if (waveCountDown <= 0)
            {
                SpawnerState = SpawnState.SPAWNING;
                SpawnWave();
            }
            else
            {
                waveCountDown -= Time.deltaTime;
            }

            return;
        }
    }