知道是否加载了特定场景

时间:2018-01-16 07:50:06

标签: c# unity3d

我怎么知道某个特定场景已经加载,所以我不会再次加载它。我正在尝试通过特定对象(在加载的场景中)搜索,但它无法正常工作。工作的场景不会以负载方式破坏。

if (GameObject.Find("TA") == null)
{
    Debug.Log("TA Loaded");
    SceneManager.LoadScene("TA", LoadSceneMode.Additive);        
}

1 个答案:

答案 0 :(得分:1)

您应该使用SceneManager.GetSceneAt(i)方法,其中i是索引。

使用类似的东西:

for (int i = 0; i < SceneManager.sceneCount; i++) {
    Scene scene = SceneManager.GetSceneAt(i);
    if (!(scene.name == "YourSceneName" && scene.isLoaded)) {
        // Load your new scene
    }
}