error CS0103: The name 'SpawnWave' does not exist in the current context.

hey, It’s late and I’m tired, I just want this to work, what should I do to fix problem, I know it’s a basic error. Here’s my script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class WaveSpawner : MonoBehaviour {

    public enum SpawnState { SPAWNING, WAITING, COUNTING};

    [System.Serializable]
    public class Wave
    {
        public string name;
        public Transform enemy;
        public int count;
        public float rate;
    }

    public Wave[] waves;
    public int nextWave = 0;

    public Transform[] spawnPoints;

    public float TimeBetweenWaves = 5f;
    private float waveCountdown;

    private float searchCountdown = 1f;

    private SpawnState state = SpawnState.COUNTING;

    void Start()
    {
                if (spawnPoints.Length == 0)
        {
            Debug.LogError("No spawn points referenced.");
        }

        waveCountdown = TimeBetweenWaves;
    }

    void Update()
    {
        if (state == SpawnState.WAITING)
        {
            if (!EnemyIsAlive())
            {
               WaveCompleted();
            }
            else
            {
                return;
            }
        }

        if (waveCountdown <= 0)
        {
            if (state != SpawnState.SPAWNING)
        {
            StartCoroutine( SpawnWave ( waves[nextWave] ) );
        }
    }
    else
    {
        waveCountdown -= Time.deltaTime;
        }   
    }

    void WaveCompleted ()
    {
        Debug.Log("Wave Completed!");

        state = SpawnState.COUNTING;
        waveCountdown = TimeBetweenWaves;

        if (nextWave + 1 > waves.Length - 10)
        {
            nextWave = 0;
            Debug.Log ("ALL WAVES COMPLETED!");
        }
        else
        {
        nextWave++;
        }
    }

    bool EnemyIsAlive()
    {
        searchCountdown -= Time.deltaTime;
        if (searchCountdown <= 0f)
        {
            searchCountdown = 1f;
            if (GameObject.FindGameObjectsWithTag ("Enemy") == null)
        {
            return false;
        }
        return true;
    }


    IEnumerator SpawnWave (Wave _wave)
    {
        Debug.Log ("Spawning Wave: " + _wave.name);
        state = SpawnState.SPAWNING;

        for (int i = 0; i < _wave.count; i++)
        {
            SpawnEnemy (_wave.enemy);
            yield return new WaitForSeconds( 1f/_wave.rate );
        }

        state = SpawnState.WAITING;

        yield break;
    }

    void SpawnEnemy (Transform _enemy)
    {
        Debug.Log ("Spawning Enemy: " + _enemy.name);


        Transform _sp = spawnPoints[ Random.Range (0, spawnPoints.Length) ];
        Instantiate (_enemy, _sp.position, _sp.rotation);
        }
    }
}

thank you! :slight_smile:

Your issue is the same as the previous response I gave you. Mismatch bracket count in EnemyIsAlive