简体   繁体   English

无法在 Invoke 中调用方法

[英]Cant call a method in Invoke

So I have this weird issue where I am trying to call a method in Invoke but it does not work for some reason IDK what am I doing wrong所以我有一个奇怪的问题,我试图在Invoke调用一个方法,但由于某种原因它不起作用 IDK 我做错了什么

public void EndGame ()
{
    if (GameHasEnded == false)
    {
      GameHasEnded = true;
      UnityEngine.Debug.Log("Game Over");
      Invoke("Restart",2f);
    }
    void Restart ()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().name);
    }
}

Whenever I run this script I get a message每当我运行此脚本时,我都会收到一条消息

Trying to Invoke method: GameManager.Restar t Couldn't be called"尝试调用方法:无法调用GameManager.Restar t”

Why is your method nested inside the EndGame method?为什么您的方法嵌套在EndGame方法中?

It should rather be应该是

public void EndGame ()
{      
    if (!GameHasEnded)
    {
        GameHasEnded = true;
        UnityEngine.Debug.Log("Game Over");
        Invoke(nameof(Restart), 2f);  
    }
}

private void Restart ()
{
    SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM