Как часто бывает при использовании круглых скобок, я думаю, что это просто для читаемости (например, Ruby поддерживает вызовы методов без круглых скобок, включающих аргументы, но последние книги и статьи советуют иначе).
Не видя ваш код / реальную проблему, трудно дать ответ, который выходит за рамки, а не очень общий:
Когда вы хотите использовать какую-то функцию ожидания в Unity, вы должны использовать сопрограммы ] используя, например, WaitForSeconds , WaitUntil , WaitWhile и другие.
private IEnumerator DoSomething()
{
// doing something
// waits 5 seconds
yield return new WaitForSeconds(5);
// do something else
}
Вы запускаете это из другого метода (внутри скрипта MonoBehaviour), используя
StartCoroutine(DoSomething());
Конечно, также можно просто подождать в методе Update
MonoBehaviours, например. что-то вроде
private float timer;
private bool activateSleep;
private void Update()
{
if(activateSleep)
{
timer += Time.deltaTime;
if(timer <= 0)
{
activateSleep = false;
}
else
{
// return so the rest of Update is not done
return;
}
}
// Otherwise do what you would usually do
}
public void ActivateSleep(float forSeconds)
{
timer = forSeconds;
activateSleep = true;
}
, но вы уже видите, как «красиво» это получается ...