Skip to content

Commit 40026f6

Browse files
committed
Set as active
1 parent 67827f4 commit 40026f6

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

Runtime/Contexts/ContextFactory.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,23 @@ namespace Juce.CoreUnity.Contexts
1111
public class ContextFactory<TInteractor, TInstance> : IContextFactory<TInteractor, TInstance> where TInstance : MonoBehaviour
1212
{
1313
private readonly string contextSceneName;
14+
private readonly bool setAsActiveScene;
1415
private readonly IContextInstaller<TInstance> contextInstaller;
1516

1617
public ContextFactory(
1718
string contextSceneName,
18-
IContextInstaller<TInstance> contextInstaller
19+
IContextInstaller<TInstance> contextInstaller,
20+
bool setAsActiveScene = false
1921
)
2022
{
2123
this.contextSceneName = contextSceneName;
2224
this.contextInstaller = contextInstaller;
25+
this.setAsActiveScene = setAsActiveScene;
2326
}
2427

2528
public async Task<ITaskDisposable<TInteractor>> Create(params IDiContainer[] parentContainers)
2629
{
27-
TInstance contextInstance = await ContextInstanceLoader.Load<TInstance>(contextSceneName);
30+
TInstance contextInstance = await ContextInstanceLoader.Load<TInstance>(contextSceneName, setAsActiveScene);
2831

2932
IDiContainerBuilder containerBuilder = new DiContainerBuilder();
3033

Runtime/Contexts/ContextInstanceLoader.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ namespace Juce.CoreUnity.Contexts
99
public static class ContextInstanceLoader
1010
{
1111
public static async Task<TContextInstance> Load<TContextInstance>(
12-
string contextSceneName
12+
string contextSceneName,
13+
bool setAsActiveScene = false
1314
) where TContextInstance : MonoBehaviour
1415
{
1516
SceneLoadResult sceneLoadResult = await RuntimeSceneLoader.LoadFromName(
1617
contextSceneName,
17-
LoadSceneMode.Additive
18+
LoadSceneMode.Additive,
19+
setAsActiveScene
1820
);
1921

20-
if(!sceneLoadResult.Success)
22+
if (!sceneLoadResult.Success)
2123
{
2224
throw new System.Exception($"Scene {contextSceneName} could not be loaded for " +
2325
$"context");

0 commit comments

Comments
 (0)