void LoadSceneInternal( string sceneName, LoadSceneMode loadMode, LoadSceneContainerMode containerMode, Action<DiContainer> preBindings, Action<DiContainer> postBindings) { if (loadMode == LoadSceneMode.Single) { Assert.IsEqual(containerMode, LoadSceneContainerMode.None); } if (containerMode == LoadSceneContainerMode.None) { SceneContext.ParentContainer = null; } else if (containerMode == LoadSceneContainerMode.Child) { SceneContext.ParentContainer = _sceneContainer; } else { Assert.IsEqual(containerMode, LoadSceneContainerMode.Sibling); SceneContext.ParentContainer = _sceneContainer.ParentContainer; } SceneContext.BeforeInstallHooks = preBindings; SceneContext.AfterInstallHooks = postBindings; Assert.That(Application.CanStreamedLevelBeLoaded(sceneName), "Unable to load scene '{0}'", sceneName); SceneManager.LoadScene(sceneName, loadMode); // It would be nice here to actually verify that the new scene has a SceneContext // if we have extra binding hooks, or LoadSceneContainerMode != None, but // it doesn't seem like we can do that immediately after calling SceneManager.LoadScene }
void LoadSceneInternal( string sceneName, LoadSceneMode loadMode, LoadSceneContainerMode containerMode, Action <DiContainer> preBindings, Action <DiContainer> postBindings) { if (loadMode == LoadSceneMode.Single) { Assert.IsEqual(containerMode, LoadSceneContainerMode.None); } if (containerMode == LoadSceneContainerMode.None) { SceneContext.ParentContainer = null; } else if (containerMode == LoadSceneContainerMode.Child) { SceneContext.ParentContainer = _sceneContainer; } else { Assert.IsEqual(containerMode, LoadSceneContainerMode.Sibling); SceneContext.ParentContainer = _sceneContainer.ParentContainer; } SceneContext.BeforeInstallHooks = preBindings; SceneContext.AfterInstallHooks = postBindings; Assert.That(Application.CanStreamedLevelBeLoaded(sceneName), "Unable to load scene '{0}'", sceneName); SceneManager.LoadScene(sceneName, loadMode); // It would be nice here to actually verify that the new scene has a SceneContext // if we have extra binding hooks, or LoadSceneContainerMode != None, but // it doesn't seem like we can do that immediately after calling SceneManager.LoadScene }
public void LoadSceneAdditive( string sceneName, LoadSceneContainerMode containerMode, Action<DiContainer> preBindings, Action<DiContainer> postBindings) { LoadSceneInternal(sceneName, LoadSceneMode.Additive, containerMode, preBindings, postBindings); }
public void LoadSceneAdditive( string sceneName, LoadSceneContainerMode containerMode, Action<DiContainer> preBindings) { LoadSceneAdditive(sceneName, containerMode, preBindings, null); }
public void LoadSceneAdditive( string sceneName, LoadSceneContainerMode containerMode) { LoadSceneAdditive(sceneName, containerMode, null); }
public void LoadSceneAdditive( string sceneName, LoadSceneContainerMode containerMode, Action <DiContainer> preBindings, Action <DiContainer> postBindings) { LoadSceneInternal(sceneName, LoadSceneMode.Additive, containerMode, preBindings, postBindings); }
public void LoadSceneAdditive( string sceneName, LoadSceneContainerMode containerMode, Action <DiContainer> preBindings) { LoadSceneAdditive(sceneName, containerMode, preBindings, null); }
public void LoadSceneAdditive( string sceneName, LoadSceneContainerMode containerMode) { LoadSceneAdditive(sceneName, containerMode, null); }