Exemplo n.º 1
0
        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
        }
Exemplo n.º 2
0
        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
        }
Exemplo n.º 3
0
 public void LoadSceneAdditive(
     string sceneName, LoadSceneContainerMode containerMode, Action<DiContainer> preBindings, Action<DiContainer> postBindings)
 {
     LoadSceneInternal(sceneName, LoadSceneMode.Additive, containerMode, preBindings, postBindings);
 }
Exemplo n.º 4
0
 public void LoadSceneAdditive(
     string sceneName, LoadSceneContainerMode containerMode, Action<DiContainer> preBindings)
 {
     LoadSceneAdditive(sceneName, containerMode, preBindings, null);
 }
Exemplo n.º 5
0
 public void LoadSceneAdditive(
     string sceneName, LoadSceneContainerMode containerMode)
 {
     LoadSceneAdditive(sceneName, containerMode, null);
 }
Exemplo n.º 6
0
 public void LoadSceneAdditive(
     string sceneName, LoadSceneContainerMode containerMode, Action <DiContainer> preBindings, Action <DiContainer> postBindings)
 {
     LoadSceneInternal(sceneName, LoadSceneMode.Additive, containerMode, preBindings, postBindings);
 }
Exemplo n.º 7
0
 public void LoadSceneAdditive(
     string sceneName, LoadSceneContainerMode containerMode, Action <DiContainer> preBindings)
 {
     LoadSceneAdditive(sceneName, containerMode, preBindings, null);
 }
Exemplo n.º 8
0
 public void LoadSceneAdditive(
     string sceneName, LoadSceneContainerMode containerMode)
 {
     LoadSceneAdditive(sceneName, containerMode, null);
 }