Pause a method for x seconds

Hey!

Basicly, what i want to do is to pause a method when a gameobject (enemy) enters a collider of another gameobject (player). Any ideas how to do this?

This is the method that i want to pause, i have done some psuedo-code to make it easier for you to understand:

transform.position = Vector3.MoveTowards (transform.position, player.position, move);

if 
{
//the gameobject tagged "enemy" triggers the box collider of gameobject tagged "player" 
//Pause 
//transform.position = Vector3.MoveTowards (transform.position, player.position, move)
//for 2 seconds
}

The first part would be something with TriggerOnEnter, which i might figure out, but for the pause part i am clueless, some kind of timer perhaps?

Thanks in advance.

Cheers!

You can try something like that (treat it as pseudocode):

private bool paused;

IEnumerator delay()
{
    paused = true;
    yield return new WaitForSeconds(x);
    paused = false;
}

void Update()
{
    if (paused)
    {
        return;
    }
    
    // do something
    StartCoroutine(delay);
}