How add a wait of 2 seconds before methods are called ?

When a gameobject touches a specific object, I call the Rewind method, which at its, end calls the Replay method. How do I add a wait or a hold of 2 seconds before Rewind and Replay, both are called ? I need the hold to be added inside these methods, instead of calling these methods after 2 seconds.

	public void Rewind()
	{
		Sequence backwardsTween = DOTween.Sequence();
		for (int i = waypoints.Count - 2; i > -1; i--) {
			backwardsTween.Append(transform.DOMove(waypoints*, 0.2f).SetEase(Ease.Linear));*

_ playerPos = waypoints*;_
_
}_
_
backwardsTween.OnComplete(Replay);_
_
}*_

* public void Replay()*
* {*
* Sequence forwardsTween = DOTween.Sequence();*
* for (int i = 0; i < waypoints.Count; i++) {*
_ forwardsTween.Append(transform.DOMove(waypoints*, 0.2f).SetEase(Ease.Linear));
playerPos = waypoints;
}
}*_

void Start()
{
StartCoroutine (rewind ());
}
IEnumerable rewind()
{
Sequence backwardsTween = DOTween.Sequence();
for (int i = waypoints.Count - 2; i > -1; i–) {
backwardsTween.Append(transform.DOMove(waypoints*, 0.2f).SetEase(Ease.Linear));*
_ playerPos = waypoints*;_
_
}_
_
backwardsTween.OnComplete(Replay);_
_
yield return new WaitForSeconds (2);_
_
replay ();_
_
}*_

Hope this will help…

public void Rewind()
    {
        Sequence backwardsTween = DOTween.Sequence();
        for (int i = waypoints.Count - 2; i > -1; i--) {
            backwardsTween.Append(transform.DOMove(waypoints*, 0.2f).SetEase(Ease.Linear));*

playerPos = waypoints*;*
}
backwardsTween.OnComplete(StartCoroutine (Replay ());
}

public IEnumerator Replay()
{
yield return new WaitForSeconds(2f);
Sequence forwardsTween = DOTween.Sequence();
for (int i = 0; i < waypoints.Count; i++) {
forwardsTween.Append(transform.DOMove(waypoints*, 0.2f).SetEase(Ease.Linear));*
playerPos = waypoints*;*
}
}

use yield

yield return new WaitForSeconds(2); yield

 public void Rewind()
{
Sequence backwardsTween = DOTween.Sequence();
for (int i = waypoints.Count - 2; i > -1; i--) {
backwardsTween.Append(transform.DOMove(waypoints*, 0.2f).SetEase(Ease.Linear));*

playerPos = waypoints*;*
}
backwardsTween.OnComplete(Replay);
}
yield return new WaitForSeconds(2);
public void Replay()
{
Sequence forwardsTween = DOTween.Sequence();
for (int i = 0; i < waypoints.Count; i++) {
forwardsTween.Append(transform.DOMove(waypoints*, 0.2f).SetEase(Ease.Linear));*
playerPos = waypoints*;*
}
}
i hope this is will help :slight_smile: