Я хотел бы знать, является ли хорошей или плохой идеей загрузить главное меню, опции и другие графические элементы через асинхронный метод SceneManager (добавка) в мою игру (Unity3D).
Идея заключается в том, что игре может не потребоваться так много памяти, если я загружу весь графический интерфейс (главное меню, опции, выбор уровня, достижения и т. Д.) Асинхронно (добавочно) в моей игре.
Это код, который я нашел, но он не работает:
bool transitionIsDone; // set elsewhere when the camera finishes moving
IEnumerator loadNextScene()
{
string name = "ALegitSceneName";
AsyncOperation _async = new AsyncOperation();
_async = SceneManager.LoadSceneAsync(name, LoadSceneMode.Additive);
_async.allowSceneActivation = false;
while(!transitionIsDone)
{
yield return null;
}
_async.allowSceneActivation = true;
while (!_async.isDone)
{
yield return null;
}
Scene nextScene = SceneManager.GetSceneByName(name);
if (nextScene.IsValid())
{
SceneManager.SetActiveScene(nextScene);
SceneManager.UnloadScene(SceneManager.GetActiveScene().name);
}
}