好了錯誤的行爲,所以我有這個協程:協程時的場景被載入
IEnumerator ShowCharTraits()
{
while(!hasPlayerChosen)
{
yield return null;
traitPanel.SetActive(true);
}
hasPlayerChosen = false;
traitPanel.SetActive(false);
// Debug.Log("Got called! job done");
}
它被稱爲像這樣從清醒方法在我GameManager
:
players = GameObject.FindGameObjectsWithTag("Player");
foreach (GameObject g in players)
{
ui_Controller.StartShowCharTraits();
g.GetComponent<PlayerToken>().isTurn = false;
}
StartShowCharTraits()是一個簡單的方法是這樣的:
public void StartShowCharTraits()
{
StartCoroutine("ShowCharTraits");
}
現在,我檢查了標籤,沒有空引用excep實際上沒有錯誤或警告被拋出。如果我在編輯器中加載場景,然後播放它,一切正常。 traitPanel.SetActive(true);
被調用,我的面板出現。但是,當我使用SceneManager.LoadScene(1);
從另一個場景加載我的場景時,上面提到的線條永遠不會到達。任何想法爲什麼發生這種情況?
你能告訴哪一行不被調用?你可以至少做一個debug.log檢查是否工作 – LumbusterTick
我知道哪些特定的行沒有被調用。我已經回答了我自己的問題。問題讓我們在另一個地方說。 –
我給你一個令人興奮的答案@uripopov! – Fattie