I looked around on here for a way to make my script wait a few seconds and found this article which people recommended. I took some of this code and used it in my game to make it wait but it doesn't act as I want it to. I placed it between two Debug.Log lines but it waits for the designated time and then logs both things at once instead of waiting after the first has triggered.
static void Waiter(){
waitHandle.WaitOne ();
}
Debug.Log (choice);
new Thread (Waiter).Start ();
Thread.Sleep (5000);
waitHandle.Set ();
Debug.Log (enemyChoice);
To wait in Unity, you use coroutine and
WaitForSeconds
. You can also use coroutine withTime.deltaTime
orTime.time
but the simplest way to do this is to useWaitForSeconds
. Note that if you wait withThread.Sleep
, your whole program will freeze. Don't do that because the UI will not be responsive too.