Unity协程开始但没有结束

我有以下协程,当您单击按钮并且没有足够的钱时,该协程会显示警告错误图像:

public IEnumerator ShowWarning()
    {
        if (warningActive)
            yield break;
        Debug.Log("started...");
        warningActive = true;
        NotEnoughMoneyImage.SetActive(true);
        yield return new WaitForSeconds(1f);
        NotEnoughMoneyImage.SetActive(false);
        warningActive = false;
        Debug.Log("ended...");
        yield break;
    }

NotEnoughMoneyImage是一个公共图像GameObject

warningActive是一个公共布尔

它显示调试行“ started”,但从不显示调试行“ end”。那怎么可能?我从另一个脚本中调用它,但我不认为存在问题。

评论