Simple countdown with GUI

I want to make a simple countdown, but with GUI textures instead of text. I’ve got four different images which display ‘3’ ‘2’ ‘1’ ‘GO!’. The idea is to pause the game then make each texture display, then get destroyed after 1 second and so on, then begin the game. Sorry for being such a noob. I’m using c# btw. Thanks!

You could just use an enum to represent the state of the countdown, then change the states using a coroutine. eg:

public enum CountdownState
{
    three,
    two,
    one, 
    go,
    inactive,
}
CountdownState currentState = CountdownState.inactive;

void Update()
{
    if(Input.GetKeyDown(KeyCode.X))
        StartCoroutine(Countdown());
}

private IEnumerator Countdown()
{
    currentState = CountdownState.three;
    yield return new WaitForSeconds(1f);
    currentState = CountdownState.two;
    yield return new WaitForSeconds(1f);
    currentState = CountdownState.one;
    yield return new WaitForSeconds(1f);
    currentState = CountdownState.go;
    yield return new WaitForSeconds(1f);
    currentState = CountdownState.inactive;
}

void OnGUI()
{
    switch(currentState)
    {
        case CountdownState.three:
            // render the "3" texture
            break;
        case CountdownState.two:
            // render the "2" texture
            break;  
        // etc
    }
}

I just wrote this in the comment box, not a script, so apologies if there’s any typos.