В единстве, после LoadScene, есть ли общий способ ожидания, пока все # монобихи не начнут заканчивать - PullRequest
0 голосов
/ 09 октября 2018

следующий мой единый тестовый код:

        LoadScene("Scene/Level-2");
        yield return new WaitUntil(() => { return GameObject.FindObjectOfType<Arrow>(); });
        var arrow = GameObject.FindObjectOfType<Arrow>();

Я загружаю сцену и WaitUntil загружается какой-то объект

Я надеюсь найти способ пропустить yield return new WaitUntil, так что есть способподождать все MonoBehaviour # Начать закончить, а затем запустить код?

1 Ответ

0 голосов
/ 09 октября 2018

Метод Awake() и Start() вызывается в первом кадре после создания экземпляра элемента.Поэтому, если вы загружаете сцену и ждете следующего кадра, будут вызваны все методы запуска.

Это должно работать для вас.

private IEnumerator LoadScene()
{
    // Start loading the scene
    AsyncOperation asyncLoadLevel = SceneManager.LoadSceneAsync("myLevel", LoadSceneMode.Single);
    // Wait until the level finish loading
    while (!asyncLoadLevel.isDone)
        yield return null;
    // Wait a frame so every Awake and Start method is called
    yield return new WaitForEndOfFrame();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...