[英]I can't get SetSystemTime to work in Windows Vista using C# with Interop (P/Invoke)
[英]Can't get Invoke() to work
//Tring to add a delay before game restarts
using UnityEngine;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour {
bool GameEnded = false;
public float RestartDelay = 4f;
public void CompleteLevel ()
{
Debug.Log("1!");
}
public void GameOver ()
{
if (GameEnded == false)
{
GameEnded = true;
Debug.Log("Game Over");
Invoke("Restart", RestartDelay);
Restart();
}
}
void Restart ()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
}
您可以使用Invoke
在一定的延迟后调用Restart()
,然后直接调用Restart()
,这将加载下一个场景。
Invoke
作用是允许您安排方法调用在特定时间之后发生。 您似乎正在使用它作为函数,它将使进程等待一定时间,这是错误的。
在Invoke("Restart", RestartDelay);
之后,只需删除Restart()
调用即可Invoke("Restart", RestartDelay);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.