I am making a 2D platform game. I use the following script to respawn a player when he dies. I want to delay the level being reloaded by about 2 seconds, so the death sound can play. It is respawning too fast. I'm a newbie. any help will be appreciated.

using UnityEngine;

namespace UnitySampleAssets._2D
{
    public class Restarter : MonoBehaviour
    {
        private void OnTriggerEnter2D(Collider2D other)
        {
            if (other.tag == "Player")
				audio.Play ();
			coinController.screwCount = 0;
			Application.LoadLevel(Application.loadedLevelName);
    }
}

}

You can use a coroutine to accomplish this:

public class Restarter : MonoBehaviour
{
	private void OnTriggerEnter2D(Collider2D other)
	{
		if (other.tag == "Player")
			audio.Play ();
		coinController.screwCount = 0;
		StartCoroutine (DelayedLoad ());    
	}

	private IEnumerator DelayedLoad()
	{
		yield return new WaitForSeconds (2.0f);
		Application.LoadLevel(Application.loadedLevelName);
	}
}